今回はアセットの紹介をしていきます。
紹介するのはHUD for VR - Sterile Future。
VR用のSFチックなHUD UIアセットです。
前回の記事を書いている途中に見つけたアセットで、面白そうなので紹介記事を書いてみました。
どんなアセット?
VR用のHUDアセットです。HUD用のUI素材に加え多くのScriptがついています。
10ドルする有料アセットでしたが、無料になりました。
VRプロジェクトに有益なSci-Fi Hudを使用します。VRの乗り物酔いがなくても機能し、プロジェクトで完全にカスタマイズできます。
無菌未来;
+使いやすい+非常に
高速で最適化されている
+データを使用して アニメーション化され 、カスタマイズ可能。
+ VRの問題なし
+階層化されたセットアップでの作業
+含まれるソースコード
+ Mixed Reality HMD互換性
+ OculusおよびVive互換性
+モバイルVR互換性
インポートが簡単で、カスタマイズ可能なリグが無限にあり、最高の外観と快適さを実現します。
開発環境
Unity2019.4.0f1
HUD for VR - Sterile Future ver1.0
セットアップ
アセットインポート完了時はこんな感じです。
インポート時のエラーの解決
インポート完了後以下のようなエラーがでました。
このアセットにはMouseLock.csというScriptが含まれていますが、
Oculus Integrationにも同名のScriptがあるためエラーが起きています。
そのためファイル名とクラス名を別の名前に変えてあげると解決します。
サンプルシーンの確認
VR HUD - Sterile Future/Scenes/SampleSceneがサンプルシーンになります。
前述の通りVR用のアセットですが、こちらはマウスでも操作可能になっています。
先ほどエラーが出ていた、MouseLock.csがマウス移動を反映しているようです。
画面には遅れて追従するHUDが表示されています。
目線の中央に位置するレティクルに、SFチックなインジケーターが盛りだくさんです。
右下、左下に表示されている数字はCameraの角度になります。右下がX軸(縦方向)で左下がY軸(横方向)です。
主要コンポーネント
CanvasLayerMove
このアセットのメインになるのがHUDです。SampleSceneにも置いてあります。
この中にCanvasが入っていますがCanvasにアタッチされているCanvasLayerMoveが重要なコンポーネントです。
Tracked Object
追従するオブジェクトです。何も設定されていない場合はStart時にMainCameraが格納されます。
Track
追従するかどうか、Falseにすると追従しなくなります。
Rotate Speed
追従速度です。
実際に試してみる
テスト用のSceneとして、Oculus IntegrationのDistanceGrabを使います。
このアセットの使い方ですが、PrefabのHUDをScene内に追加するだけです。
後は再生するだけでHUDが動作します。これは簡単!
後は自分好みにコンポーネントのパラメータを変えたり、HUDのデザインを調整すればよさそう。
付属のコンポーネント
主要コンポーネントであるCanvasLayerMove以外にもたくさんのコンポーネントが付属しています。
AngleToHUD
Cameraの角度を取得しTextに反映するコンポーネントです。
GetComponent<Text>をしているので、TextMeshProに使う場合は少し手直しが必要です。
RotateWithMove
Cameraの角度に応じてUIを回転させるコンポーネントです。
外側にある円の回転をコントロールしています。
SlideWithMove
Cameraの角度に応じてUIのPosXを変化させるコンポーネントです。
一定値を超えると反対側にリセットさせるようにできています。
FillWithMove
Cameraの角度X軸Y軸に応じてImageのFillAmoutを変化させるコンポーネントです。
OpacityWithMove
CanvasとTargetとの角度の差に応じてSpriteの透明度を変化させるコンポーネントです。
Blink
パラメータのSpeedに応じて点滅(ColorのAlphaを変化)させるコンポーネントです。
その他 HUDが障害物に隠れる問題
WorldSpaceのCanvasの宿命として地形や障害物に隠れる問題がおきます。
こちらは前回の記事で解決法を載せているので合わせてどうぞ。
まとめ
・VR用のHUDアセットだが、UI素材だけでなく付属のScriptも演出に役立つものばかり。
・使い方はPrefabをScene内に置くだけ。
・これで無料
他のアセットの紹介記事はこちら↓
VR開発記事はこちら↓
※本記事にはAssetStoreアフィリエイトリンクが含まれています。
他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。