Version: 2022.3
言語: 日本語
スタンダードシェーダーマテリアル Inspector のリファレンス
アルベドカラーと透明度

Rendering Mode

A Standard Shader material with default Properties and no values or textures assigned. The Rendering Mode Property is highlighted.
A Standard Shader material with default Properties and no values or textures assigned. The Rendering Mode Property is highlighted.

標準シェーダーの一つ目のマテリアルパラメータは、Rendering Mode です。ここでは、オブジェクトで透明度を使うかどうかを選択することができ、透明度を使う場合、どのブレンディングモードにするかを選びます。

  • Opaque - デフォルトです。透明な部分のない、一般的な固形のオブジェクトに適しています。

  • Cutout - 不透明と透明な領域をはっきり分ける透明効果を作成することができます。このモードでは、半透明の領域は存在せず、テクスチャは100%不透明か、まったく見えなくなるか、どちらかになります。これは、葉っぱや穴だらけでボロボロの服などの素材を形作るのに便利です。

  • Transparent - 透明なプラスチックやガラスなどの現実的な透明なマテリアルのようなレンダリングに適しています。このモードでは、マテリアル自体は、(テクスチャのアルファチャンネルとティントカラーのアルファに基づいた)透明度の値になります。しかし、本物の透明なマテリアルの場合と同様に、反射や照明のハイライトは、完全な明快さで表示されたままになります。

  • Fade - オブジェクトが鏡面反射光や反射を含んでいる場合でも、透明度の値を使ってオブジェクトを完全にフェードアウトすることができます。このモードは、オブジェクトのフェードインやフェードアウトをアニメーション化する場合に便利です。反射やハイライトもフェードアウトするので、透明なプラスチックやガラスのような透過素材を写実的にレンダリングするのには適していません。

Changing the Rendering Mode using a script

When you change the Rendering Mode, Unity applies a number of changes to the Material. There is no single C# API to change the Rendering Mode of a Material, but you can make the same changes in your code.

To see the changes that Unity makes when you change the Rendering Mode:

  1. Download the source code for Unity’s built-in shaders. See Make your own shader for instructions.
  2. StandardShaderGUI.cs ファイルを開きます。
  3. Locate the area of the file that looks like this, and observe the changes for each Rendering Mode.
switch (blendMode)
        {
            case BlendMode.Opaque:
               // Opaque Rendering Mode に関連する変更はこちら
                break;
            case BlendMode.Cutout:
                // Cutout Rendering Mode に関連する変更はこちら
                break;
            case BlendMode.Fade:
                // Fade Rendering Mode に関連する変更はこちら
                break;
            case BlendMode.Transparent:
                // Transparent Rendering Mode に関連する変更はこちら
                break;
        }

この画像でヘルメットバイザーは、transparent プロパティを有する実際の物理的なオブジェクトを表すことになっているので、Transparent モードを使用してレンダリングされます。ここでバイザーは、シーンの中のスカイボックスを反射しています。
この画像でヘルメットバイザーは、transparent プロパティを有する実際の物理的なオブジェクトを表すことになっているので、Transparent モードを使用してレンダリングされます。ここでバイザーは、シーンの中のスカイボックスを反射しています。
これらのウィンドウは、Transparent モードを使用しますが、テクスチャで定義されたいくつかの完全に不透明な領域(窓枠)があります。光源からの鏡面反射は、透明な領域と不透明な領域を反射します。
これらのウィンドウは、Transparent モードを使用しますが、テクスチャで定義されたいくつかの完全に不透明な領域(窓枠)があります。光源からの鏡面反射は、透明な領域と不透明な領域を反射します。
この画像でホログラムは、Fade モードを使用してレンダリングされます。部分的にフェードアウトし、不透明なオブジェクトを表現することになっているためです。
この画像でホログラムは、Fade モードを使用してレンダリングされます。部分的にフェードアウトし、不透明なオブジェクトを表現することになっているためです。
この画像の草は Cutout モードを使用してレンダリングされています。この cutoff の閾値を指定することによって定義されるオブジェクトに明確なシャープなエッジを与えます。この閾値以上のアルファ値を持つ画像のすべての部分は、100%不透明であり、閾値以下のすべての部分は見えません。画像の右側にマテリアルの設定と使用するテクスチャのアルファチャンネルを見ることができます。
この画像の草は Cutout モードを使用してレンダリングされています。この cutoff の閾値を指定することによって定義されるオブジェクトに明確なシャープなエッジを与えます。この閾値以上のアルファ値を持つ画像のすべての部分は、100%不透明であり、閾値以下のすべての部分は見えません。画像の右側にマテリアルの設定と使用するテクスチャのアルファチャンネルを見ることができます。
スタンダードシェーダーマテリアル Inspector のリファレンス
アルベドカラーと透明度