概要
3DオブジェクトのAssetがピンク色になってしまう事、よくあると思います。
ここで説明するのは、URP環境のアプリを作ろうとしている方を対象にしています。
2022年10月2日 操作説明をわかりやすいように修正しました
一番簡単な方法
[ Unity2021以降 ]
Window > Rendering > Render Pipeline Converter
ポップアップが表示されますので以下①〜④の手順で操作します。
(②のチェックボックスは押しづらいので注意!押せない時はポインタを少しずらしてみてください)
[ Unity2020以前 ]
Edit > Render Pipeline > Universal Render Pipeline >Upgrade Project Materials to UniversalRP Materials
で一発変換できます。
(追記)目的のMaterialを選択状態にして変換する方法(Unity2022)
Project画面上でMaterialを選択状態にします。(絞込検索を使うと探しやすいです)
次にEdit > Rendering > Materials > Convert Selected Built-in Materials to URPをクリックすると選んだマテリアルが変換されます。
うまくいかない場合は
この手順をやっても変換が上手くできない事もあるようです。
その時は次の手順を試してみてください。
本文
3Dオブジェクトに使用されているマテリアルを変更します。マテリアルは3DオブジェクトのPrefabを選択した時に表示されます。
マテリアルを選択すると、ShaderがURPに対応していないものが選ばれていることがわかります。
UniversalRenderPiplineを選んで次に表示されるリストからLitを選んでください。
もしAlbedoの左側にテクスチャの画像が表示されている時は
Shaderを変更した時テクスチャ画像がはがされるので、同じテクスチャ画像をBaseMapに貼り直してください。
これでピンク色表示から正しい色表示に直りました。
補足
配置したオブジェクトは正しい色になってもPrefabはピンク色のままですが、
Prefabを選択して右クリック > Reimportを選べば
Prefabも正しい色表示になります(表示されない時はUnityの再起動も試してみてください)
※ReimportAllを選ぶとプロジェクト内全てが対象になって、長時間待たされることもあるのでご注意ください(その上、一部がピンク色のままの時もあります)