HoloLensでは現実空間に3Dオブジェクトを配置、作用させることによってMixedReality(複合現実)を実現しています。
この3DオブジェクトはHoloLensやxRの分野だけではなく、映画、ゲーム、製造、建築など多くの業界で幅広く用いられるようになりました。
3Dオブジェクトを作成するツールも増え、少し良い性能のPCさえあれば3Dモデルを作ることは誰でも簡単にできるようになりました。
前回から二回に分けて日本列島を作っています。
〇Uintyへのエクスポート
前回の記事を参考にしてください
〇ホログラム風の演出
今回MixedRealityToolkitのStandardShaderも使いつつ違うアプローチでホログラムっぽさを演出してみます。
使用したのは以下で公開されている[HoloShieldShader]を使用しました。
ダウンロードしてUnityへインポートします。
うまくインポートが完了するとMaterialから[HoloShield]が選択できるようになります。 HoloShieldShaderにはサンプルシーンを含まれており基本的な機能を確認できます。
〇HoloShield
ざっとHoloShieldShaderを見てみます。
●Fresnel
InnerGlowやRimLight、その強さや色を設定します。
●Textures
テクスチャです。HoloShieldではメインである[Main Texture]とは別に一定の周期で走る[Secondary texture]があります。
この二つのTextureを組み合わせてホログラム風の演出を行っています。
●Noise
Noiseを有効にするとその名の通りTextureが乱れます。 強さや流れ、ぼかしも作成することができます。
●Distortion
有効化すると形状がシャボン玉のように揺らぎます。滑らかな形状からシャープな棘のある形状まで自由に設定できます。
●Pulsation
有効にすると形状が膨張、縮小を周期的に行うパルスが機能します。
〇日本列島に応用する
新規のマテリアルを作成しShaderを[HoloShield]Shaderへ切り替えます。
Secondary Textureによって周期的に色味が変わるMaterialになりました。 また、見る角度によっても色味が変化します。
アウトラインにはPulsationを使用したマテリアルを適応して視覚的変化を付けました。
このPulsationはMixedRealityToolkitのMRTK StandardShaderのVertexExtrusionで見たように法線方向にメッシュを展開しています。
今回の場合それを利用してアウトラインが複雑に展開するようになりました。
これでHoloShield Shaderを用いた日本列島が作成できましたが、このままでは少しホログラムっぽさは少ないため、さらに手を加えます。
メッシュをコピーして垂直軸にずらします。
新たなMaterialを作成してShaderを[MRTK Standard Shader]に切り替えます。TextureにHoloShieldに同梱されていたハニカム模様の画像を使用します。
作成したマテリアルの設定は以下の通りです。 特記すべきはRendering Modeを[Fade]にしていることと[Triplanar Mapping]を有効化していることです。
このマテリアルと階層構造のメッシュによってホログラム(=立体映像)っぽさが演出できます。
以上でHoloLensで使える日本列島の3Dモデルが完成しました。
オブジェクト数が増えるのでHoloLensなどスタンドアローン端末では注意して使用する必要がありそうですが、使いどころによっては近未来の演出ができそうです。