vaguely

和歌山に戻りました。ふらふらと色々なものに手を出す毎日。

【Unity】Standard shaderに触ってみた

はじめに

Unityに新しくShaderが追加されて以降、気になりつつも手が出せずじまいだったのですが、 ふと「Standard」Shaderを触ってみたところ、「これ結構設定ができるんじゃね?」と思ったので試してみた備忘録です。

曖昧だったり間違っていたりすると思いますので、正しくは以下をご覧いただいた方が良いかとは思いますが、何かの足しになればと思い、ブログに書き残すことにします。

Rendering Mode - Unity - Manual

Rendering Mode

Opaque

  • Alpha ×
  • デフォルトのモードで、透明度を持たせる必要がない場合に使用

Cutout

  • Alpha ○
  • Alpha Cutoutを設定すると、Albedoで設定したAlphaが一定の値以下になった場合に描画されなくなる。
    利用方法としてはScriptなどから複数オブジェクトのAlpha値をいじって、どこかの値で一気に消す、とか?

Transparent

  • Alpha ○
  • AlbedoでAlphaを0にした場合でも、反射光はそのまま描画される

Fade

  • Alpha ○
  • AlbedoでAlphaを0にするとすべて描画されなくなる

Albed

Surfaceのベースとなる色、Alphaの指定

Metallic

  • Metallic: 数値を上げるとSurfaceの色(光が反射している部分以外)が暗くなり、金属らしい質感になる
  • Smoothness: 数値を上げていくと反射光の輪郭がはっきりし、下げるとぼんやりしてくるので、テカテカ・つやつやした素材なら数値を高めに設定する

【参考】

Normal Map

表面の凹凸を表現する法線マップ(画像)の設定。

【参考】

Occlusion

光の当たり具合を表現するオクルージョンマップ(画像)の設定

【参考】

Emmision

Shaderを設定しているオブジェクトが発光している場合、その色と強度を設定できる。

【参考】

Detail Mask, Secondary Maps

ここまでに設定したMain Mapsに重ねて、さらに詳細なTexture(肌の質感や微細なひび割れなど)を設定する

【参考】

終わりに

結局半分以上ぼんやりとした内容になってしまいました。。。

Shaderに限りませんが、実際に使ったり作成してみないとわからないところも多いので、簡易的なゲームか何かを作ってみるかなぁ。。。

参考

Cutout

【Unity】Alpha CutoutシェーダーでSpineのキャラクターを不透明描画する - technostallion