HoloLensの開発ツールであるMixedRealityToolkitではサンプルとして配置するだけで使用できるボタンやスライダーなど数多くのUIが同梱されています。
開発者はプレファブとして提供されているこれらをシーンに配置し、Eventを指定するだけでUIとして機能します。
ここではBlenderを用いてSF映画や近未来を描いたアニメ作品に登場するようなFUI(Fictional User Interface)を基にHoloLens用のオリジナルデザインのUIボードを作ります。
今回は第3回目です。 5~10つほど作品が完成したタイミングでGitHubにて公開します。
前回の記事はこちらです。
〇BlenderからエクスポートしUnityへインポートする
前回シェイプキー付きのボタンのメッシュが完成しました。FBX形式でエクスポートしてUnityでインポートします。
Blenderで上部タブの[ファイル]から[エクスポート]→[FBX(.fbx)]を選択します。
ウィンドウが開くので名前を付け(①)、エクスポートする対象をメッシュのみに設定し(②)[エクスポート]ボタンを選択します。
ウィンドウが閉じたらエクスポートの完了です。
〇Unityでインポート
エクスポートしたFBXをUnityのプロジェクトウィンドウにドラッグ&ドロップすることでインポートが行えます。
インポートしたFBXのinspectorの[Materials]タブから[Extract Materials...]を選択することでMaterialを書き出してShaderなど含め自由に編集できるようになります。
〇Unityでシェイプキーを使用する
シェイプキーを設定したメッシュには[Skinned Mesh Renderer]がアタッチされます。(未設定のメッシュの場合[Mesh Renderer])
[Skinned Mesh Renderer]の[Blend Shape Weights]の[Size]に作成したシェイプキーの数と同じ数値を入れます。
[Element]がSizeに指定した数追加されます。
[Element]の値を0~100で入力することでBlenderのシェイプキーで扱った[相対]での0~1と同じ動作に対応した形状の変化が発生します。
以上でUnityでシェイプキーを使うことに成功しました。
実際のアプリケーション内で扱うためにはスクリプトやアニメーションなどで変化させます。
次回はアニメーションでシェイプキーを変化させます。