Version: 2023.1
言語: 日本語
Shader クラス
シェーダーのコンパイル

シェーダーアセット

シェーダーアセットは、Unity プロジェクトのアセットで、シェーダーオブジェクト を定義します。シェーダーアセットは .shader 拡張子を持つテキストファイルで、シェーダーコード を格納しています。

新しいシェーダーの作成

新規のシェーダーアセットを作成するには、メインメニューまたは Project ウィンドウ のコンテキストメニューから Assets > Create > Shader の順に選択します。

Inspector のリファレンス

Unity プロジェクトでシェーダーアセットを選択すると、Inspector によって定義されるシェーダーオブジェクトの基本情報が Inspector に表示されます。また、コンパイルやコンパイルされたコードを検査するためのコントロールも提供されます。

シェーダーの Inspector
シェーダーの Inspector

インポート設定

Inspector のインポート設定のセクションでは、シェーダーアセットのデフォルトテ クスチャを設定できます。このシェーダーで新しい マテリアル を作成すると、これらのテクスチャが自動的に割り当てられます。

Imported Object

Inspector の Imported Object (インポートされたオブジェクト) のセクションでは、 シェーダーオブジェクト自体と、シェーダーコンパイラーがどのようにそれを扱うかに関する設定を表示/編集できます。

シェーダーコンパイルのメニュー
シェーダーコンパイルのメニュー

サーフェスシェーダー の場合、 Show generated code ボタンを押すと、簡略化されたソースファイルから Unity が生成したコードが表示されます。生成されたコードをカスタマイズしたい場合は、それをコピーしてシェーダーのソースファイルに貼り付けることができます。

Compile and show code ポップアップメニューを使って、以下を行うことができます。

  • 選択したグラフィックス API に対するすべてのシェーダーバリアントを手動でコンパイルします。Unity エディターでは、シェーダーはビルド時まですべてのグラフィックス API 用のすべてのシェーダーバリアントをコンパイルしません。エラーを確認するために、これを手動で強制的におこなうことができます。シェーダーコンパイラーがいつ何をするかについて詳しくは、シェーダーコンパイル を参照してください。
  • 選択したプラットフォームのコンパイル済みシェーダーコードを調べることができます。これは、パフォーマンス向上のためにシェーダーを最適化するときに最も役立ちます。生成される低レベルの命令の数を知りたい場合がよくあります。この場合は、生成されたコードを GPU シェーダーパフォーマンス分析ツールに貼り付けます (AMD GPU ShaderAnalyzerPVRShaderEditor のように)。

Preprocess Only チェックボックスは、対象のシェーダーアセットのプリプロセスが完了したソースを表示します。

Shader

Shader クラス
シェーダーのコンパイル