LoginSignup
14
12

More than 5 years have passed since last update.

shadergraphとかパイプラインを変更して、ピンクになったときの修正方法

Last updated at Posted at 2018-05-15

Unity2018.1 で以前のプロジェクトをからコンバートして描画パイプラインをLWRPやHDRPに変更したり、
途中でShadergraph使いたいからLWRPに切り替えたらピンクになった人が多いと思います。

なぜ起きるのか?

恐らくShaderがパイプラインに対応していなくて
描画できなくなっているからだと思います。

解決方法

shader(マテリアル)を対応さえる必要があります。
ピンクになっているオブジェクトのマテリアルのshader項目を確認すると
従来の(Standardとか)マテリアルを使っていると思います。
shaderChangepng.png
ここを修正します。(一括で自動設定する方法は下に書いてます)
軽量パイプライン(lightweight)を使っているなら、shaderもLightweightPipelineの中から使用してください。
これで描画できるようになります。
基本(Metallic・Occlussionなどが設定できる)    → Standard(Physically Based)
光を簡単に描画  → Standard(Simple Lighting)
光の影響を受けない → Standard Unlit
になると思いますが、詳しい違いはちゃんと調べた方がいいですね。

なんにせよ手動で変更するのは面倒で
この変更を一括で行ってくれる機能を準備してくれていました。

Edit → Render Pipeline → Upgrade ~~
UpgradeShader.png

プロジェクトごと変換するのか、選択したのだけ変換するのか2パターン準備されてます。

まだピンク残ってるんだけど...

この機能ではデフォルトのマテリアルを使っているものと、自分で書いたシェーダーが変換されませんでした。
デフォルトのマテリアルでピンクになっているものは
自分でマテリアルを作成して割り当てるといいです。

基本図形(Cubeとかsphere)なら、現在のパイプラインに合わせてマテリアルが割り当てられるので削除して再度createすると良い。

自分で作成したシェーダーは残念ながら自前で対応させるしかないのだろうか・・・
自分で書き直すのも勉強になって良さそうです →サンプルリンク
何かご存知の方がいらっしゃったら参考になるリンクなどご教授いただけると幸いです。

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12