はじめに
こんにちは。
ジョジョ好きなXRクリエイターの もふるね です。
今回作るものは、3Dモデルが手の平に追従するARアプリです。
開発環境
・Unity 2021.3.29f1
・NRSDK v1.10.2
・MRTK v2.8.3
使用機材
・Xreal Light
・Xreal Light Devkit(またはXreal Light対応スマートフォンでも可能)
参考資料
・Xreal lightでMRTKを使えるようにできるリポジトリ(吉永さん@Taka_Yoshinaga)
MRTK-Profiles-for-NrealLight
・ホロモンさんのブログ記事
MRTK v2.4.0を使ってHoloLens2で手乗りキャラクターアプリを作成する その1
・ちょまぎょさんのQiita記事
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
1.準備
始めに、MRTKとNRSDKとMRTK-Profiles-for-NrealLightの導入を済ませます。
手乗りするキャラの3Dモデルデータを用意します。
今回使うのは自作のシアーハートアタック3Dモデルです。
Unity作業に入ります。
ヒエラルキーに空のゲームオブジェクトを作ります。
名前を「Tenori」にしておきます。
Tenoriの子にシアーハートアタックを置きます。
2.手の平に追従する機能
Tenoriに「Hand Constraint Palm Up」コンポーネントを付けます。
すると、「Hand Bounds」と「Solver Handler」コンポーネントも一緒に付いてきます。
これらのコンポーネントの設定をします。
Solver Handler
・Tracked Target Type: Hand Joint
・Addutuional Offset: X:0, Y:-0.05, Z:0
Hand Constraint Palm Up
・Hand Constraint
・Safe Zone: Above Finger Tips
・Safe Zone Buffer: 0
・Rotation Behavior: None
・Offset Behavior: Tracked Object Rotation
3.位置調整
Unityの再生ボタンを押して手とシアーハートアタックとの位置を確認しながら調節します。
操作 | 手のエミュレーション |
---|---|
シフトキー + マウス移動 | 手の移動 |
マウスホイール回転 | 手の奥行き |
マウスホイール押し込み | 手を内向きに |
Tenoriの子にあるシアーハートアタックのTransformの値を調節します。
今回は以下のようにしました。
Position: X:0, Y:-0.05, Z:0
Rotation: X:0, Y:180, Z:0
おわりに
以上で完成になります。
Xreal Lightで実際にやってみるとこうなります。
ある程度手の平を傾けると、シアーハートアタックが右手から左手に乗り移る様子が見えます。
安定したところに乗りたいんでしょうね。かわいいですね。
更にここから、ちょっと手を加えてみました。
やっぱり、シアーハートアタックには爆発がないと!
今回はMRTKを使って、手乗りシアーハートアタックを作りました。
MRTKは豊富な機能がノンコードで簡単に使えるので、とても便利ですね。
これからも創作に活かしていきたいです!
前回の記事