Edited at

UnityのIL2CPPビルドにおいてGPU Instancingだと何故か描画されない問題について

More than 1 year has passed since last update.

藍澤光の誕生日なので初透光です。


前提環境


  • Unity 2018.3.0b2


問題

GPU Instancingで超大量のオブジェクトを描画しようとするとエディター上では描画できますがIL2CPPビルドした実機上で描画されません。


解決策

Edit > Settings > Graphics > Shader Stripping > Instancing Variantsの設定をStrip UnusedからKeep Allに変更します。

エディター上では全てのシェーダーがメモリ上に乗っているため描画できますが、IL2CPPビルドをするとGPU Instancing有効なシェーダーを不要と判断して捨ててしまい、結果として実機上で何も描画しないようです。

Unity2018.3からPreferencesはSettingsに統合されました。設定を探す手間が省けますね。 なぜこれまで分けていたのか?


感想

こういうピットフォールほんとひで