Skip to content

MaterialとTexture ​

共有Materialと個別設定 ​

MaterialはShaderと描画設定、公開ParameterをまとめたAssetです。同じMaterial Assetを使うRendererには共通の設定が適用されます。Rendererの「個別マテリアル設定」は、そのRendererだけの上書きに使います。

MeshRendererではSubMeshごとにMaterialを指定できます。SubMeshを選んでから、どのMaterialと個別値を編集しているか確認してください。

作成手順 ​

  1. 「ツール → レンダリング → マテリアル作成」を開きます。
  2. 用途に合う既定を選び、ゲーム用FolderへMaterialを作成します。
  3. RendererのMaterial欄へ割り当てます。
  4. 色やTextureを設定し、Shaderが公開しているParameterを調整します。
  5. Material AssetとSceneの保存をそれぞれ確認します。

DecalにはDecal用の既定Materialを使用します。通常のMesh用Materialを設定しても、Decalの投影用入力とは一致しません。

標準PBRの主な値 ​

項目変わる見た目
BaseColor表面の色。BaseColor Textureと乗算する
Metallic金属度。高いほど環境の反射色が重要になる
Roughness反射の粗さ。低いほど鋭く反射する
Normal Texture面の向きを細かく変え、凹凸に見せる
Occlusion環境光の遮蔽。直接光の影とは異なる
Emissive Color / Intensity表面から出る見た目の光。周囲の照明とは別
AlphaClipMaskedで切り抜く透明度の閾値

Textureの用途を取り違えると色や照明が不自然になります。色画像と、法線・質感などの数値画像は同じ色空間の扱いとは限りません。インポート用途を確認してください。

不透明・切り抜き・半透明 ​

  • Opaque:完全不透明の表面。
  • Masked:Alpha閾値で有無を決める葉や金網など。
  • Transparent:ガラスや煙など、背景と連続的に混ぜる表面。

Alphaのある画像を設定しただけで、すべての描画区分が自動で切り替わるとは限りません。MaterialのSurfaceMode、描画順とRendererの設定を確認します。

C#で個別値を変える ​

cs
using NEMEngine;

public sealed class MaterialTint : MonoBehaviour {

    void Start() {
        // 色を変えるRendererを取得
        var renderer = GetComponent<PrimitiveRenderer>();
        if (renderer == null) return;
        // 共有Assetを変えず、この物体だけ上書き
        bool applied = renderer.MaterialInstance.SetColor(
            MaterialParameterNames.BaseColor, new Color4(0.2f, 0.8f, 1.0f, 1.0f));
        // Materialが指定Parameterを持つか確認
        if (!applied) Debug.LogWarning("ベースカラーの設定を確認してください");
    }
}

Parameter名はShaderが公開している名前と一致させます。標準PBRにはMaterialParameterNamesとMaterialParameterIDsを利用できます。独自ShaderGraphのParameterは作成時に付けた名前を使用します。

SetColorなどの戻り値は、変更が受け付けられたかを示します。型やParameter名が合わない場合、数値を変えても見た目へつながりません。

ShaderGraph · MaterialInstance · Decal

現行版マニュアル · 8ea58ba2 · 2026-10-28確認