Version: Unity 6.0 (6000.0)
言語 : 日本語
シェーダーの非同期コンパイルを有効化/無効化
非同期のシェーダーコンパイルのトラブルシューティング

非同期シェーダーコンパイルの検出

C# の API を使って、非同期のシェーダコンパイルの状態を監視し、その状態が変化したときに操作を行うことができます。

これは 高度なレンダリング で最も有効な方法です。プレースホルダーのシェーダーが生成されたデータを汚染する場合は、コンパイルが完了するまで待って、汚染されたデータを破棄し、正しいシェーダーバリアントで新しいセットを再生成できます。

調べたいマテリアルがすでにわかっている場合は、ShaderUtil.IsPassCompiled を使って、シェーダーバリアントのコンパイル状況を確認することができます。ステータスが Uncompiled から Compiled に変わると、コンパイルが完了です。

どのマテリアルを調べたいのかわからない場合や、複数のマテリアルを調べたい場合は、 ShaderUtil.anythingCompiling を使って、Unity がシェーダーバリアントを非同期にコンパイルしているかどうかを検出できます。これが true から false に変わると、現在のすべてのコンパイルは完了です。

シェーダーの非同期コンパイルを有効化/無効化
非同期のシェーダーコンパイルのトラブルシューティング
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961