いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU

Unity : uGUIにエフェクトをかけるアセット UIEffect

uGUIでブラーエフェクトかけられないかなーと思ってググっていたら、劇マブエフェクト群スクリプトアセットを見つけました

github.com

ImageコンポーネントUIEffect スクリプトをアタッチするだけで、さまざまな視覚効果をUIに付与できます。

よく使いそうなエフェクトの設定をリストアップしてみました。

グレースケール

f:id:sugar_affordance:20180207162607j:plain

セピア

f:id:sugar_affordance:20180207162745j:plain

ドット化、モザイク化

f:id:sugar_affordance:20180207162813j:plain

ネガポジ変換

f:id:sugar_affordance:20180207162909j:plain

マスク、塗りつぶし

f:id:sugar_affordance:20180207163058j:plain

アルファ値を255にすることで塗りつぶしになります

薄く色掛け

f:id:sugar_affordance:20180207163556j:plain

アルファ値を下げるとこんなかんじ

ブラー(ぼかし)

f:id:sugar_affordance:20180207163629j:plain

シャドウ(影)

f:id:sugar_affordance:20180207163646j:plain

アウトライン

f:id:sugar_affordance:20180207163733j:plain

多重シャドウ

f:id:sugar_affordance:20180207163830j:plain


アセット内には上記エフェクトにアニメーションをかける場合のサンプルなどが充実しています。

これは使い倒すしか!

Unity : MonoBehaviour, ScriptableObject をJSONファイルに保存する [C#]

まあ、ごくたまになんですけど、Unityをバージョナップしたりアセットをインポートしなおしたときに、シリアライズされたデータがふっとぶ時があったんです。
けっこうショックがデカいんですよね。いろんなデータをそこに入れてたりすると。

こんなときバックアップをファイルに保存しておけば復元できます。


保存

JsonUtilityでJSONテキストにしたモノをファイルに書き込み、AssetDatabaseでインポートします。
下記ソースの TestScriptableObject クラスは、保存したいScriptableObjectクラス。

string json = JsonUtility.ToJson (AssetDatabase.LoadAssetAtPath<TestScriptableObject>("ScriptableObjectアセットのファイルパス"));

using (StreamWriter writer = new StreamWriter("書き出すファイルのパス"))
{
       writer.Write(json.ToString());
}

AssetDatabase.ImportAsset(jsonPath);

復元

JSONからMonoBehaviour, ScriptableObjectにデータを流し込む場合は、JsonUtility.FromJsonOverwrite メソッドを使用する必要があります。

var so = AssetDatabase.LoadAssetAtPath<TestScriptableObject>("ScriptableObjectアセットのファイルパス");
TextAsset backupJson = AssetDatabase.LoadAssetAtPath<TextAsset>("JSONファイルのパス");
JsonUtility.FromJsonOverwrite(backupJson.text, so);

AssetDatabase.SaveAssets();

イジョ!

Amazon.co.jpアソシエイト