前回からMixedRealityToolKit v2のExamplesを触っていますが、今回はその3回目の記事です
前回の記事
デモシーンの概要
全開は二列目の5つを見てMixedRealityToolKit Standerd Shaderの縁取りに関してInner GlowとBorder Lightを見ていきました。
また見る角度によって色が変わる場合も見ていきました。
今回は3列目を見ていきます。
〇Unlit
Unlitは一言でいえば「光の影響を受けない」設定のようです。
ここで、Unityの高原の役割をしているDirectional Lightをオンオフし、変化を見てみます。
他のオブジェクトが暗くなりましたが、Unlitのオブジェクトは見た目が何も変わらないことがわかります。 また、影もLightの影響によるので最初からありません。
UIなどどの環境でも同じ見え方をしてほしいとき使えますね。
UnityではUnlitという単一のShaderが用意されていますが、MRTKのShaderの場合別々ではなくStanderd Shaderのなかで設定できるようです。
Unlitオブジェクトの設定を見てみるとほかのオブジェクトではチェックが入り有効化されているDirectional Lightのチェックが外れ無効化されていることがわかります。
ここでDirectional Lightの影響を受けるか(=通常)受けないか(=Unlitの状態)を設定できるようです。
〇Default Lit
これはよくわからないです。
DegaultとあるのでたぶんただStanderd ShaderをMaterialに適応した初期の状態のままだと思います。
〇SemiSmooth・SmoothMetallic
見た目とSmooth(滑らかさ)の名前の通り光の反射を設定できます。
SemiSmoothとSmoothMetallicの違いはAlbedoの色とMetallic、Somoothの値の違いのようです。
SemiSmoothをベースにSmoothMetallicを再現してみます。
AlbedoのRGBとSmoothの値をSmmothMetallicに合わせてみました。
すると表面がてかてかして磨いた泥団子のようにかすかに周囲を反射していることがわかります。
この状態にさらにMetallicの値もSmoothMetallicに合わせます。
これでSemiSmoothをベースにSmoothMetallicが再現できました。
Metallicは名前のように金属感、Smoothは滑らかさを調整できます。
〇NormalMap・ChannelMap
ここまでの単調であったオブジェクトと異なりNormalMap、ChannelMapはテクスチャ(画像)が貼られています。
NormalMapのオブジェクトに寄ってみるとわかるのですが、Smoothなどのオブジェクトと形は同じに見えますが、表面がデコボコ、そして溝があるように見えます。
NormalMapとはデコボコなどの質感を表現するための特殊なテクスチャのようです。
NormalMapという設定箇所に設定することで反映されます
NormalMapを使うことでディティールアップができるようです。試しにSmoothMetallicのオブジェクトにNormalMapオブジェクトのNormalMapを反映してみます。
すると簡単につるつるだったSmoothMetallicオブジェクトにディティールが追加されました。
ChannnelMapはNorlamMapと同じようにChannelMapという箇所にテクスチャを入れているようです。
Albedoにも画像がありますしこれだけだとChannelMapが何をしているのかわからないので一度AlbedoとChannelMapの画像をdeleteしてみました。
するとSmoothMetallicのような状態になりました。若干表面がざらざらしているのはNormalMapによるものです。
次にChannelMapを戻しましたところ全体的なくすみや擦れなどの質感が戻りました。
Albedoによって錆が再現されるようですが、ChannelMapが具体的にどのようなことをしているかは理解できませんでした。
(NormalMapとAlbedoの特徴を兼ね備えたものなのかな?…)
今回は3列目の6つを見てみました。
だんだんと端的な基本のものから実際のアプリで使えそうな面白味のあるオブジェクトが増えてきました。
NormalMapに関してはすべて解説が終わった後の応用で使ってみたいと思います。
次回は4列目!