最初にこの記事を読んでから自分で解決することを強くお勧めします: https://zhuanlan.zhihu.com/p/360566324
ここに私の考えを記録します。
- まず、URP のアップグレードが正しいかどうかを確認します。主にアセットが設定されているかどうか、および ShaderGraph が正常に動作するかどうかを確認します。
- 主に ShaderGraph によって自動的に生成されたコードを比較して、問題が未定義のマクロによって引き起こされているかどうかを除外してみます。
- コードで HLSLPROGRAM が使用されているかどうかを確認します (これは URP で使用する必要があります。作成したシェーダーを使用しない場合、実際にはビルドイン パイプラインになります)。
- コード内で修正することはできません。!!、cginc ファイルは存在しません。!!非常に重要です。修正されました。CGPROGRAM を使用しない場合でも、デフォルトで CGPROGRAM が使用されるため、ビルドイン パイプライン内の定義がデフォルトで参照されることになり、再定義がトリガーされます。