Version: Unity 6.0 (6000.0)
言語 : 日本語
エッジリフレクション (フレネル効果) の設定
ビルトインレンダーパイプラインでのスタンダードシェーダーソースコードのカスタマイズ

スタンダードシェーダーでスクリプトを使用してレンダリングモードを設定する

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

レンダリングモードを変更したときの変更点を確認するには、以下を行います。

  1. Unity のビルトインシェーダーのソースコードをダウンロードします。手順については、独自のシェーダーの作成を参照してください。
  2. StandardShaderGUI.cs ファイルを開きます。
  3. ファイルの以下のような部分を探して、各レンダリングモードの変更点を確認してください。
switch (blendMode)
        {
            case BlendMode.Opaque:
               // Changes associated with Opaque Rendering Mode are here
                break;
            case BlendMode.Cutout:
                // Changes associated with Cutout Rendering Mode are here
                break;
            case BlendMode.Fade:
                // Changes associated with Fade Rendering Mode are here
                break;
            case BlendMode.Transparent:
                // Changes associated with Transparent Rendering Mode are here
                break;
        }

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