Version: 2021.1
言語: 日本語
マテリアル
マテリアルインスペクターリファレンス

マテリアル入門

Unity で何かを描くには、その形状を表す情報と、サーフェスの外観を表す情報が必要です。サーフェスの外観を表すためには メッシュ を使用します。

マテリアルとシェーダーは密接な関係にあり、マテリアルは常にシェーダーと一緒に使われます。

このページには以下の情報が含まれています。

レンダーパイプラインの互換性

機能 ビルトインレンダーパイプライン ユニバーサルレンダーパイプライン (URP) HD レンダーパイプライン (HDRP) カスタムのスクリプタブルレンダーパイプライン (SRP)
Materials

マテリアルの基礎

マテリアルは、シェーダーオブジェクト への参照を含んでいます。そのシェーダーオブジェクトが マテリアルプロパティ を定義する場合、マテリアルが色やテクスチャへの参照などのデータを有することができます。

Material クラスは、C# コードでマテリアルを表します。詳しくは、C# スクリプトでマテリアルを使用 を参照してください。

マテリアルアセットとは、.mat という拡張子を持つファイルで、Unity プロジェクトのマテリアルを表します。Inspector ウィンドウを使ったマテリアルアセットの表示と編集については、マテリアルの Inspector を参照してください。

マテリアルアセットの作成とシェーダーの割り当て

  1. プロジェクトに新しいマテリアルアセットを作成するには、メインメニューまたは Project ウィンドウのコンテキストメニューから、Assets > Create > Material を選択します。
  2. マテリアルアセットにシェーダーを割り当てるには、Inspector ウィンドウで Shader のドロップダウンメニューを使います。

ゲームオブジェクトにマテリアルアセットを割り当てる

マテリアルを使ってゲームオブジェクトをレンダリングするには、以下を行います。

  1. Renderer を継承するコンポーネントを加えます。MeshRenderer が最も一般的で、ほとんどのユースケースに適していますが、ゲームオブジェクトに特別な要件がある場合には、SkinnedMeshRendererLineRendererTrailRenderer が、より適していることがあります。
  2. コンポーネントの Material プロパティにマテリアルアセットを割り当てます。

マテリアルを使って ビルトインのパーティクルシステム のパーティクルシステムをレンダリングするには、以下を行います。

  1. パーティクルシステムに Renderer モジュール を加えます。
  2. Renderer モジュールの Material プロパティにマテリアルアセットを割り当てます。
マテリアル
マテリアルインスペクターリファレンス