Unityを触っていて、アセットストアで購入したアセットなどをインポートした時に
オブジェクトが全てピンク色になってしまい、こちらの原因を調査して解決したので
この記事で調査過程と解決方法を紹介していきます。
アセットがピンク色に…
アセットストアで購入したアセットをインポートし、開いてみると下記のように
オブジェクトが全てピンク色になっていました。
他にも見てみると全てのオブジェクトがピンク色になっており、
全てのオブジェクトにマテリアルやテクスチャが反映されていないのだと感じました。
原因はマテリアルのシェーダーだった
どうやらマテリアルのシェーダーに原因があったそうです。
購入したアセットのマテリアルをクリックし、インスペクターを見ると
Universal Render Pipline/Litとなっておりました。
こちらのシェーダーが原因でした。
ShaderをStandardに変えてみる
調査しているとこちらの記事を見つけました。
ピンク色になっているマテリアルを全て選択し、
ShaderをStandardにしてみました。
設定を変更すると…
マテリアルが反映されたものもありますが、完全には直っていなかった…
こちらの方法で直ることもあるようですが、私は直りませんでした。
別の方法を調査します。
レンダーパイプライン
購入したアセットの仕様を再確認しました。
すると以下のように記述がありました。
■レンダーパイプラインの互換性
・Built-in Render PipelineはUnityのデフォルトのレンダーパイプラインです。
汎用レンダーパイプラインで、カスタマイズのオプションは限られています。
・Universal Render Pipeline (URP)は、スクリプト可能なレンダーパイプラインで、迅速かつ簡単にカスタマイズでき、幅広いプラットフォームで最適化されたグラフィックを作成できます。
・High Definition Render Pipeline (HDRP) は、スクリプト可能なレンダーパイプラインで、
ハイエンドのプラットフォームで最先端の忠実度の高いグラフィックを作成できます。
レンダーパイプラインというオブジェクトに描画する技術についての説明が書いてありました。
詳しくは下記の記事が参考になります。
仕様では3種類とも互換性があると書いてありましたが、うまく描画されませんでした。
私はデフォルトのレンダーパイプライン、Built-in Render Pipelineで作成していたので、
今回はURPに対応させるようにしたいと思います。
レンダーパイプラインをURPに対応させる
では既存のプロジェクトをURPに対応させたいと思います。
URPに対応させるので、シェーダーはUniversal Render Pipline/Litに戻しておきます。
先ほど紹介したレンダーパイプラインの説明の記事を参考に
まずはUniversal RPをインストールします。
Window>Package Managerを開きます。
Unity Registryから「Universal RP」と検索しインストールします。
次に、ProjectのAssetsで右クリックし、
Create>Rendering>URP Asset(with Universal Renderer)をクリックします。
今回は「URP」という名前で作成しました。
次にEdit>Project Settingsを開きます。
次にGraphicsを選択しDefault Render Pipelineに
先ほど作成したものをドラッグ&ドロップします。
確認画面が出てくるのでConfirmを押すと…
表示されました!
でもよくよく見ると、点があってチラチラしているように見えます。
Render Pipeline Converterを使う
再び調査すると下記の記事が見つかりました。
どうやらRender Pipeline Converterというものを使うと良いそうです。
Window>Rendering> Render Pipeline Converterをクリックします。
全てのチェックボックスにチェックを入れます。その後、Initialize Convertersを押します。
こちらを実行した結果、何も変化なし…
続いてRendering SettingsとMaterial Upgradeのみをチェックし、Initialize Convertersを押します。
実行すると…
綺麗に描写され、チラチラしている問題も解決することができました。
Prefabもピンクではなくなったので、完全に解決できました。
おわりに
いかがだったでしょうか。
人によって原因は様々で直す方法もいろいろあるので
今回紹介した方法をいろいろ試してもらったらと思います。
直すのめちゃくちゃ大変でした…
ではでは!
コメント