Kilimanjaro Warehouse

WEBとかゲーム開発のことについて書きます。

Unity: Shader Graphがピンク色になって使えない問題の解消法


【Unite Tokyo 2018】新機能Shader Graphを使えばプログラミング無しにシェーダーが作れるようになります!

Shader Graphを使って、この動画で紹介されていたシェーダーを実際に作ってみようと思ったのですが、何故かマスターノードがピンク色になって使えませんでした。


使用した環境
OS: macOS High Sierra
Unity: 2018.1.0f2
Shader Graph: 1.1.9 - preview


f:id:kilimanjaro-a2:20180603181230p:plain

調べてみると、Unityがデフォルトで使用している描画パイプラインが、Shader Graphに対応していないことが原因のようでした。


参考:
The Lightweight Render Pipeline: Optimizing Real Time Performance – Unity Blog
Scriptable Render Pipeline: What You Need To Know - YouTube



なので、描画パイプラインを変更しましょう。
今回はLightweight Render Pipelineという描画パイプラインを使用します。

問題を解消する

Window > Package Managerを選択して、Lightweight Render Pipelineをインストールします。
f:id:kilimanjaro-a2:20180603181226p:plain
f:id:kilimanjaro-a2:20180603181221p:plain


インストールが完了したら、
ProjectビューのCreateから、Renderer > Lightweight Pipeline Assetを選択し、適当な名前をつけて作成します。
f:id:kilimanjaro-a2:20180603181217p:plain


その後、Edit > Project Settings > Graphicsを開き、先ほど作成したAssetを割り当てます。
f:id:kilimanjaro-a2:20180603181213p:plain
f:id:kilimanjaro-a2:20180603181303p:plain
f:id:kilimanjaro-a2:20180603181300p:plain


これで、描画パイプラインが変更されたので、正常にシェーダーが動作するようになりました。
簡単ですね!
f:id:kilimanjaro-a2:20180603181257p:plain


以下、実際に作ってみたシェーダーを適用してみたものです。


今度は既に作成済みのシェーダーがおかしくなった!

これで描画パイプラインを変更すると、Shader Graphで作成されたシェーダーは正しく動作するようになるのですが、今まで使われていたシェーダーである、Shader Labで作成されたシェーダーが動作しなくなります。
これを解消するには、こちらの記事が参考になります。
shadergraphとかパイプラインを変更して、ピンクになったときの修正方法


思ったこと

以前Shader Graphを使ったときは、特に設定を変えなくても使用できた気がするのですが、バージョンが上がって仕様が変更されたのでしょうか...
こちら、以前に書いた記事です。
kiliware.hateblo.jp


そして、動画内で紹介されていた、高橋さんのプロジェクトとブログの記事はこちらです。
github.com
blogs.unity3d.com

Shader Graphは今後のゲーム開発において、大活躍しそうな機能ですので、今のうちに習得しちゃいましょう!