Unity で何かを描くには、その形状を表す情報と、サーフェスの外観を表す情報が必要です。サーフェスの外観を表すためには メッシュ を使用します。
マテリアルとシェーダーは密接な関係にあり、マテリアルは常にシェーダーと一緒に使われます。
このページには以下の情報が含まれています。
機能 | ビルトインレンダーパイプライン | ユニバーサルレンダーパイプライン (URP) | HD レンダーパイプライン (HDRP) | カスタムのスクリプタブルレンダーパイプライン (SRP) |
---|---|---|---|---|
マテリアル | 可 | 可 | 可 | 可 |
マテリアルは、シェーダーオブジェクト への参照を含んでいます。そのシェーダーオブジェクトが マテリアルプロパティ を定義する場合、マテリアルが色やテクスチャへの参照などのデータを有することができます。
Material クラスは、C# コードでマテリアルを表します。詳しくは、C# スクリプトでマテリアルを使用 を参照してください。
マテリアルアセットとは、.mat
という拡張子を持つファイルで、Unity プロジェクトのマテリアルを表します。Inspector ウィンドウを使ったマテリアルアセットの表示と編集については、マテリアルの Inspector を参照してください。
マテリアルを使ってゲームオブジェクトをレンダリングするには、以下を行います。
Renderer
を継承するコンポーネントを加えます。MeshRenderer が最も一般的で、ほとんどのユースケースに適していますが、ゲームオブジェクトに特別な要件がある場合には、SkinnedMeshRenderer、LineRenderer、TrailRenderer が、より適していることがあります。マテリアルを使って ビルトインのパーティクルシステム のパーティクルシステムをレンダリングするには、以下を行います。