ゴマちゃんフロンティア

アザラシが大好きなエンジニアの開発日記です

【Unity】Standardマテリアルのレンダリングモードについて

time 2018/06/10

というわけで、今回はUnityの標準マテリアルに関するお話です。
最近の (という程でもありませんが) Unityではマテリアルのシェーダが「standard」メインになっています。
上記シェーダには「Rendering Mode」という概念がありますが、自分の中で曖昧な部分が多かったので、公式マニュアルを見て覚えておこうと思います。

公式マニュアルは↓のURLです。
https://docs.unity3d.com/ja/current/Manual/StandardShaderMaterialParameters.html

レンダリングモードの一覧

Opaque

デフォルトのモードで、透明な部分のないオブジェクトに設定します。

特に透明要素を扱わないオブジェクトならこれで良いでしょう。

Cutout

「不透明」か「透明」かの2種類のみを扱うモードです。所謂「半透明」が存在しないとのこと。
公式マニュアルには「葉っぱや穴だらけでボロボロの服などの素材を形作るのに便利」と書いてあります。

どの程度の透明度までカットするかは、プロパティの「Alpha Cutoff」で設定できます。
初期値は0.5ですが、テクスチャに応じて調整すると良さそうです。

Transparent

アルファ値に基づいた透明度になりますが、反射や照明の影響を受けます。
つまりアルファを0にしても、見た目上は完全な透明にはなりません。
下は服だけTransparentを指定してみた例です。

公式マニュアルには「プラスチックやガラスなどの現実的な透明素材に適する」旨が書いてあり、故にキャラクターよりは建物や障害物などに適すると言えます。
ファンタジーでよくある「刃身が透き通った剣」なんかもこちらですね。

Fade

「Transparentの反射や照明を受けない版」です。
そのため、こちらはアルファを0にすると完全な透明になります。

公式マニュアルではホログラムに対して適用しているようです。
その他ではアクションゲームでよくある「被ダメージ後の点滅」にはこちらが適すると思われます。

down

コメントする