【Unity】Keywordsを使用してShaderGraphでシェーダーバリアントを作成する

はじめに

今回はKeywordsを使用してシェーダーバリアントを作成していきます。

シェーダーバリアントについてはこの方に記事が参考になります

qiita.com

環境は Unity 2019.4.1f1

Universal Render Pipeline(テンプレートのプロジェクトです)

UnlitGraph を使用しています

シェーダー作成

Keywordはプロパティの追加からKeyword→各種Keywordを作成できます。

f:id:Brave345:20201027155135p:plain

Keywordsのプロパティ詳細はこちら

docs.unity3d.com

ノードは複数のグラデーションを切り替えられるようなシェーダーにしました。

f:id:Brave345:20201027155102p:plain

注意点としてDisplay NameとReference Suffixは同じ名前にしないとうまく切り替えできないです。(少なくとも自分はそうでした)

完成

プロパティから複数のグラデーションを切り替えれるようになりました。

これくらいならブーリアンでもいいのですが、シェーダーバリアントだとブーリアンと比べてコンパイル時間がかかる代わりに実行速度が早いのでケースバイケースで使い分ければいいと思います

f:id:Brave345:20201027155154g:plain

【Cluster】ワールドをアップロードした際のエラー対処法

はじめに

Clusterのワールドをアップロード開始したところ、途中でエラーが出てUnityが落ちることがあったのでメモしときます

環境はUnity2019.4.1f1です

エラー名

いくつか出ていて

・Bundling AssetBundles was canceled~

GUI window tried to begin rendering~

等が出ていました

解決方法

Cluster Creator Kitを入れ直したら直りました

【Unity】TextMeshProで勝手に改行しないようする

はじめに

Unity 2019.4.1f1

デフォルトの設定でTextMeshProを使用すると文字を大きくしたり文字数を増やすと勝手に改行されてしまいます

f:id:Brave345:20200930154056p:plain

解決法

TextMeshProコンポーネントのWrappingをDisabledにすれば勝手に改行されなくなります

f:id:Brave345:20200930154039p:plain