はじめに
こんにちは。
ジョジョ好きな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の子にシアーハートアタックを置きます。
![te02.jpg](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3518924%2F4a782c11-09ac-4877-6534-4256f0a1efbf.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ea231f0a113f559aa4455fb71c63c3c6)
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
![te03.jpg](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3518924%2Fa3834e16-14ed-a719-7250-1a06d9e601b1.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d5c35062763833b61e6bc95b8b150471)
3.位置調整
Unityの再生ボタンを押して手とシアーハートアタックとの位置を確認しながら調節します。
操作 | 手のエミュレーション |
---|---|
シフトキー + マウス移動 | 手の移動 |
マウスホイール回転 | 手の奥行き |
マウスホイール押し込み | 手を内向きに |
Tenoriの子にあるシアーハートアタックのTransformの値を調節します。
今回は以下のようにしました。
Position: X:0, Y:-0.05, Z:0
Rotation: X:0, Y:180, Z:0
![te04.jpg](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3518924%2F9f304bf3-e3d0-6f7e-927b-5b7aa8b04b3f.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=78f1ea6a3b1c4b64d623e39429427b4a)
おわりに
以上で完成になります。
Xreal Lightで実際にやってみるとこうなります。
ある程度手の平を傾けると、シアーハートアタックが右手から左手に乗り移る様子が見えます。
安定したところに乗りたいんでしょうね。かわいいですね。
更にここから、ちょっと手を加えてみました。
やっぱり、シアーハートアタックには爆発がないと!
今回はMRTKを使って、手乗りシアーハートアタックを作りました。
MRTKは豊富な機能がノンコードで簡単に使えるので、とても便利ですね。
これからも創作に活かしていきたいです!
前回の記事