MRが楽しい

MRやVRについて学習したことを書き残す

MRTK のサンプルマテリアルをMaterialGalleryで確認する

本日は MRTK の調査枠です。
MRTK で提供されるサンプルマテリアルを確認します。

MRTK で提供されるマテリアルはHoloLens上で60fpsで動作するように最適化されています。
HoloLensで様々な表現を行いたい時に活用します。

サンプルシーンの確認

MRTK に含まれるマテリアルは Examples のサンプルシーンで確認できます。
Examples のサンプルシーンの利用方法は以下を参照下さい。
bluebirdofoz.hatenablog.com

Assets/HoloToolkit-Examples/StandardShader/Scenes 配下の MaterialGallery.unity を開きます。
f:id:bluebirdofoz:20190519134507j:plain

マテリアルの種類と効果

サンプルシーンで確認できるマテリアルはプログラム的なシェーディングと標準的なシェーディングを合わせた 22 種類です。
これらのマテリアルは MixedRealityToolkit/Standard マテリアルのステータスを調整することで様々な効果のサンプルを表示しています。
それぞれの名称は使用例の名称であり、マテリアル名ではありません。

プログラム的なシェーディング

以下の9種類のマテリアルはプログラム的なシェーディングの使用例です。
マテリアルのステータスを調整することで境界線の大きさや円の半径など様々な表示パラメータを調整できます。

Rounded Crners

オブジェクトの境界線の表示をカットします。
設定されたアニメーションにより、ステータスの[Unit Radius]を変更して時間経過で境界線の形が変形します。
f:id:bluebirdofoz:20190519134524j:plain

Rounded Corners Non-Uniform Scale

Rounded Crnersと同様です。長方形のパネルオブジェクトの境界線をカットしています。
アニメーションによる変形は行いません。
f:id:bluebirdofoz:20190519134532j:plain

Circular Crners

オブジェクトの面の部分を丸く表示します。
f:id:bluebirdofoz:20190519134541j:plain

Rounded Corners Opaque

境界線の表示をカットし、更に面の部分の表示についても中央部分の表示範囲を設定できます。
f:id:bluebirdofoz:20190519134550j:plain

Border Cube

境界線のみ色合いを変更したり、ライトによる色の変化を調整できます。
f:id:bluebirdofoz:20190519134559j:plain

Opaque Border

境界線のみ表示します。ワイヤーフレームのような見た目になります。
f:id:bluebirdofoz:20190519134607j:plain

Wax

境界線がより強調されて光を反射します。金属光沢のような見た目になります。
f:id:bluebirdofoz:20190519134617j:plain

Inner Glow

境界線の光彩を設定します。基本色と色を変えることで境界線が強調されるような見た目になります。
f:id:bluebirdofoz:20190519134625j:plain

Environment Color

見る方向によって色合いが変わります。X/Y/Z軸それぞれから見た場合のカラーを設定できます。
f:id:bluebirdofoz:20190519134634j:plain

標準的なシェーディング

以下の13種類のマテリアルは標準的なシェーディングとしての使用例です。
MixedRealityToolkit/Standard マテリアルで標準的なシェーディング手法の表現を利用する際のサンプルになります。

Unit

基本色を表示する最もシンプルな使用例です。
f:id:bluebirdofoz:20190519134647j:plain

Default Lit

ディレクショナルライトによるシンプルなハイライト(艶)表現を設定した使用例です。
f:id:bluebirdofoz:20190519134656j:plain

Semi Smooth

Default Litに鏡面反射の効果を重ね合わせたものです。
f:id:bluebirdofoz:20190519134705j:plain

Smooth Metallic

Semi Smoothにメタリック光沢を設定したものです。
これにより、光の反射だけでなくSkyBoxの背景も反射しています。
smoothness(滑らかさ)を高くするとよりハッキリと、低くするとボヤけた反射になります。
f:id:bluebirdofoz:20190519134718j:plain

Normal Map

Default Litに法線マップを追加したものです。
f:id:bluebirdofoz:20190519134735j:plain

Normal Map Transparent

Normal Mapに透明色を重ねたものです。
f:id:bluebirdofoz:20190519134748j:plain

Albedo Alpha Smoothness

アルファ値が設定されたテクスチャを設定し、アルファ値をメタリック光沢として利用したものです。
f:id:bluebirdofoz:20190519134759j:plain
テクスチャのアルファ値はテクスチャのInspectorビューで[表示切り替え]ボタンをクリックすることで確認できます。
f:id:bluebirdofoz:20190519134811j:plain

Cull Off Alpha Test

裏面表示(Cull Off)を設定したものです。
更にレンダーモードを[TransparentCutout]に設定することでテクスチャのアルファ値部分を非表示に設定しています。
f:id:bluebirdofoz:20190519134822j:plain

Rim Lit

物体の輪郭部分が光るリムライト効果を設定したものです。
また、レンダーモードを[Addtive]に設定し、[黒色]を乗算しているため、基本色が透明になっています。
f:id:bluebirdofoz:20190519134830j:plain

Refractive

Semi SmoothとRim Litを組み合わせたものです。基本色には半透明色が設定されています。
f:id:bluebirdofoz:20190519134838j:plain

Near Plane Fade Environment Color

近距離のフェードアウト効果を設定したものです。
ステータスの設定からフェードアウト効果の発生開始距離を設定できます。
f:id:bluebirdofoz:20190519134848j:plain

Clipping Plane

物体の描画を任意の位置で分断する Clipping Plane の効果を設定したものです。
Clipping Plane スクリプトをアタッチされた子オブジェクトの位置に合わせてオブジェクトが切り取り表示されます。
f:id:bluebirdofoz:20190519134920j:plain

Clipping Plane Soft

物体の描画を任意の位置で分断する Clipping Plane の効果を設定したものです。
Clipping Plane と比較すると境界線がなだらかな階調的に変化します。
f:id:bluebirdofoz:20190519134936j:plain

サンプルシーンのライト効果

シーンのカーソルには HoverLight コンポーネントが設定されています。
これにより、マテリアルオブジェクトに視点を合わせると、カーソルの位置にライトの効果がシミュレーションされます。
f:id:bluebirdofoz:20190519134948j:plain