夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MixedRealityToolKit v2 Examplesを触ってみる Standerdshader/MaterialGallery その③


 前回からMixedRealityToolKit v2のExamplesを触っていますが、今回はその3回目の記事です

f:id:Holomoto-Sumire:20191021100255j:plain

MixedRealityToolKit v2 Examples MaterialGallery

 前回の記事

 

 

redhologerbera.hatenablog.com

 

デモシーンの概要 

 全開は二列目の5つを見てMixedRealityToolKit Standerd Shaderの縁取りに関してInner GlowとBorder Lightを見ていきました。

 また見る角度によって色が変わる場合も見ていきました。

 今回は3列目を見ていきます。

f:id:Holomoto-Sumire:20191024092818j:plain

 〇Unlit

 Unlitは一言でいえば「光の影響を受けない」設定のようです。

 ここで、Unityの高原の役割をしているDirectional Lightをオンオフし、変化を見てみます。

f:id:Holomoto-Sumire:20191024093711j:plain

Lightが有効な状態

f:id:Holomoto-Sumire:20191024093922j:plain

Lightを無効化した

 他のオブジェクトが暗くなりましたが、Unlitのオブジェクトは見た目が何も変わらないことがわかります。 また、影もLightの影響によるので最初からありません。

 UIなどどの環境でも同じ見え方をしてほしいとき使えますね。

 UnityではUnlitという単一のShaderが用意されていますが、MRTKのShaderの場合別々ではなくStanderd Shaderのなかで設定できるようです。

f:id:Holomoto-Sumire:20191024094600j:plain

 Unlitオブジェクトの設定を見てみるとほかのオブジェクトではチェックが入り有効化されているDirectional Lightのチェックが外れ無効化されていることがわかります。

 ここでDirectional Lightの影響を受けるか(=通常)受けないか(=Unlitの状態)を設定できるようです。

 

〇Default Lit

 これはよくわからないです。

 DegaultとあるのでたぶんただStanderd ShaderをMaterialに適応した初期の状態のままだと思います。

 

〇SemiSmooth・SmoothMetallic

f:id:Holomoto-Sumire:20191024095316j:plain

  見た目とSmooth(滑らかさ)の名前の通り光の反射を設定できます。 f:id:Holomoto-Sumire:20191024100322j:plain

 SemiSmoothとSmoothMetallicの違いはAlbedoの色とMetallic、Somoothの値の違いのようです。

 SemiSmoothをベースにSmoothMetallicを再現してみます。

 AlbedoのRGBとSmoothの値をSmmothMetallicに合わせてみました。

f:id:Holomoto-Sumire:20191024100924j:plain

 すると表面がてかてかして磨いた泥団子のようにかすかに周囲を反射していることがわかります。

 この状態にさらにMetallicの値もSmoothMetallicに合わせます。

f:id:Holomoto-Sumire:20191024101157j:plain

 これでSemiSmoothをベースにSmoothMetallicが再現できました。

 Metallicは名前のように金属感、Smoothは滑らかさを調整できます。

 

〇NormalMap・ChannelMap

f:id:Holomoto-Sumire:20191024101809j:plain

 ここまでの単調であったオブジェクトと異なりNormalMap、ChannelMapはテクスチャ(画像)が貼られています。

f:id:Holomoto-Sumire:20191024102146j:plain

 NormalMapのオブジェクトに寄ってみるとわかるのですが、Smoothなどのオブジェクトと形は同じに見えますが、表面がデコボコ、そして溝があるように見えます。

f:id:Holomoto-Sumire:20191024102638j:plain

 NormalMapとはデコボコなどの質感を表現するための特殊なテクスチャのようです。

 NormalMapという設定箇所に設定することで反映されます

 NormalMapを使うことでディティールアップができるようです。試しにSmoothMetallicのオブジェクトにNormalMapオブジェクトのNormalMapを反映してみます。

f:id:Holomoto-Sumire:20191024103104j:plain

 すると簡単につるつるだったSmoothMetallicオブジェクトにディティールが追加されました。

 ChannnelMapはNorlamMapと同じようにChannelMapという箇所にテクスチャを入れているようです。

f:id:Holomoto-Sumire:20191024103352j:plain

 Albedoにも画像がありますしこれだけだとChannelMapが何をしているのかわからないので一度AlbedoとChannelMapの画像をdeleteしてみました。

f:id:Holomoto-Sumire:20191024103842j:plain

 するとSmoothMetallicのような状態になりました。若干表面がざらざらしているのはNormalMapによるものです。

f:id:Holomoto-Sumire:20191024104459j:plain

 次にChannelMapを戻しましたところ全体的なくすみや擦れなどの質感が戻りました。

 Albedoによって錆が再現されるようですが、ChannelMapが具体的にどのようなことをしているかは理解できませんでした。

 (NormalMapとAlbedoの特徴を兼ね備えたものなのかな?…)
 

 今回は3列目の6つを見てみました。

 だんだんと端的な基本のものから実際のアプリで使えそうな面白味のあるオブジェクトが増えてきました。

 NormalMapに関してはすべて解説が終わった後の応用で使ってみたいと思います。

 次回は4列目!