夜風のMixedReality

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

HoloLensで使える3Dモデルを作る ~日本列島~ 後編

 HoloLensでは現実空間に3Dオブジェクトを配置、作用させることによってMixedReality(複合現実)を実現しています。

 この3DオブジェクトはHoloLensやxRの分野だけではなく、映画、ゲーム、製造、建築など多くの業界で幅広く用いられるようになりました。

 3Dオブジェクトを作成するツールも増え、少し良い性能のPCさえあれば3Dモデルを作ることは誰でも簡単にできるようになりました。

 前回から二回に分けて日本列島を作っています。

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

〇Uintyへのエクスポート

 前回の記事を参考にしてください

redhologerbera.hatenablog.com

〇ホログラム風の演出

 今回MixedRealityToolkitのStandardShaderも使いつつ違うアプローチでホログラムっぽさを演出してみます。

 使用したのは以下で公開されている[HoloShieldShader]を使用しました。

github.com

 ダウンロードしてUnityへインポートします。

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

 うまくインポートが完了するとMaterialから[HoloShield]が選択できるようになります。 HoloShieldShaderにはサンプルシーンを含まれており基本的な機能を確認できます。

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

〇HoloShield

ざっとHoloShieldShaderを見てみます。

●Fresnel

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

InnerGlowやRimLight、その強さや色を設定します。

●Textures

テクスチャです。HoloShieldではメインである[Main Texture]とは別に一定の周期で走る[Secondary texture]があります。

この二つのTextureを組み合わせてホログラム風の演出を行っています。

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

●Noise

Noiseを有効にするとその名の通りTextureが乱れます。 強さや流れ、ぼかしも作成することができます。

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

Distortion

有効化すると形状がシャボン玉のように揺らぎます。滑らかな形状からシャープな棘のある形状まで自由に設定できます。

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

●Pulsation

有効にすると形状が膨張、縮小を周期的に行うパルスが機能します。

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

〇日本列島に応用する

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

 新規のマテリアルを作成しShaderを[HoloShield]Shaderへ切り替えます。

 Secondary Textureによって周期的に色味が変わるMaterialになりました。 また、見る角度によっても色味が変化します。

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

 アウトラインにはPulsationを使用したマテリアルを適応して視覚的変化を付けました。

 このPulsationはMixedRealityToolkitのMRTK StandardShaderのVertexExtrusionで見たように法線方向にメッシュを展開しています。

 今回の場合それを利用してアウトラインが複雑に展開するようになりました。

redhologerbera.hatenablog.com

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

 これでHoloShield Shaderを用いた日本列島が作成できましたが、このままでは少しホログラムっぽさは少ないため、さらに手を加えます。

 メッシュをコピーして垂直軸にずらします。

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

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

 新たなMaterialを作成してShaderを[MRTK Standard Shader]に切り替えます。TextureにHoloShieldに同梱されていたハニカム模様の画像を使用します。

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

 作成したマテリアルの設定は以下の通りです。 特記すべきはRendering Modeを[Fade]にしていることと[Triplanar Mapping]を有効化していることです。

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

 このマテリアルと階層構造のメッシュによってホログラム(=立体映像)っぽさが演出できます。

 以上でHoloLensで使える日本列島の3Dモデルが完成しました。

 オブジェクト数が増えるのでHoloLensなどスタンドアローン端末では注意して使用する必要がありそうですが、使いどころによっては近未来の演出ができそうです。