HoloLensでは現実空間に3Dオブジェクトを配置、作用させることによってMixedReality(複合現実)を実現しています
この3DオブジェクトはHoloLensやxRの分野だけではなく、映画、ゲーム、製造、建築など多くの業界で幅広く用いられるようになりました。
3Dオブジェクトを作成するツールも増え、少し良い性能のPCさえあれば3Dモデルを作ることは誰でも簡単にできるようになりました。
前回からライトセーバーを作っています。 今回は11回目の記事です。
前回の記事はこちら
〇Blenderでブレードを作成しエクスポートする
前回まででライトセーバーは完成しましたが、今回はその刃であるブレードを作成します。
・Blenderでブレードを作成する。
資料によると、ライトセーバーのブレードはただのレーザーや炎とは異なり電源ユニットから放出されたプラズマを、カイバークリスタルを介して収束させた高温高圧の物質として存在することで切り結ぶことができるようです。
Effectの作成にはUnityの場合ParticleSystemを用いる場合が多いですが、今回はParticleではなくオブジェクトとしてブレードを作成しました。
Blenderでブレードエミッター(刃先)から伸びる円柱を作成しました。
エクスポートしてUnityへインポートします。
過去の記事を参考にしてください
〇UnityでMaterialを作成する。
・ライトセーバー本体のMaterial
・グリップ部のMaterial
金属のテクスチャを使用しています。 今回は別アセットに含まれていたものを使用していますが、このようなテクスチャは、ロイアリティフリーで配布されている場合やPhotoshopなどの素材として含まれている場合もあります。
また、今回UV展開の作業を行っていないため[Triplaner Mapping]を使用しています。
Triplaner Mappingは過去の記事で解説しています。
・ブレードエミッターのMaterial
特別なことはしておらず、[Albedo]のカラーと[Metallic]、[Smoothness]のみで作成しました。 マテリアルを適応させたライトセーバーが次になります。
・ブレードのMaterial
ライトセーバーのブレードは白いプラズマの淵にそれぞれの色の発光を示しています。
今回はMRTK StandardShaderのアウトラインを用いて再現します。アウトラインは過去の記事を参考にしてください。
・プラズマ部のMaterial
プラズマ部には次のMaterialを作成しました。
[Albedo]のカラーは白ですが、[Emission]および[RimLight]でアウトラインになじむように発光させています。
[Border Light]によって色合いをブレンドしています。
・アウトライン
アウトラインを使用するためにブレードオブジェクトの[MeshRenderer]の[Size]を2に設定します。[Element 1]にアウトライン用のMaterialを設定します。
アウトライン用のMaterialは以下のように設定しました。
[Vertex Extrusion]のチェックボックスを有効にして値を設定することで法線方向にメッシュを展開してアウトラインを実現しています。
ここで[Rendering Mode]を[Front]に設定することでメッシュの内側のみが描画され、プラズマ部の見えるアウトラインができました。
以上でライトセーバーが完成しました。
次回以降完成したライトセーバーに機能を付けていきます。