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

レンダリングモード

デフォルトのパラメーターが設定され、値またはテクスチャが割り当てられていないスタンダードシェーダーのマテリアル。レンダリングモードのプロパティがハイライトされています。
デフォルトのパラメーターが設定され、値またはテクスチャが割り当てられていないスタンダードシェーダーのマテリアル。レンダリングモードのプロパティがハイライトされています。

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

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

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

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

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

スクリプトを使用したレンダリングモードの変更

レンダリングモード を変更すると、Unity はマテリアルにいくつかの変更を適用します。マテリアルのレンダリングモードを変更する単一の C# API はありませんが、コードで同じ変更を行うことができます。

レンダリングモード を変更したときに Unity によって行われる変更内容を確認するには、以下の操作を行います。

  1. Unity のビルトインシェーダーのソースコードをダウンロードします。手順については、独自のシェーダーを作成 を参照してください。
  2. StandardShaderGUI.cs ファイルを開きます。
  3. ファイルの以下のような部分を探して、各 レンダリングモード の変更点を確認してください。
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 のリファレンス
アルベドカラーと透明度