##Magic Leap Advent Calendar 2020
この記事は、Magic Leap Advent Calendar 2020 の5日目です。
##Magic Leap Challenge
2020年9月に「Magic Leap Challenge」というハッカソンに参加させていただきました。
デバイスを1週間貸りて、家で開発を行うリモートハッカソンです。
私は料理アプリのMRバージョンを検証として作成しました。
作品:MRクッキング
その際にUIを掴んで動かす実装について方法がわからず苦戦しました。
最終的にオレオレ実装でゴリ押ししました。
下記GIFが実際に実装したものです。
位置を変えたい場合は摘まんで動かす、
向きを変えたい場合は押す という実装で乗り切りました。
なぜ苦戦したかというと理由はシンプルで
指のボーンの情報に回転座標が含まれていないからです。
1週間という短い実装期間で座標からよしなにするのは無理でした。
しかし、ハッカソンの懇親会で**「MLTK使えばできるらしいよ」**という
神の助言を頂いたので、今回はそのMLTKを使ってみた という内容になっています。
##MLTK(Magic Leap Toolkit)
MLTKはGithubからパッケージでインポートしました。
【参考リンク】:magicleap/Magic-Leap-Toolkit-Unity
バージョンの違い次第で動かないことがあるようです。
私の試した環境のバージョン情報を置いときます。
Unity 2019.3.10f1
MLTK ? 記載なし
MLSDK v0.24.1
##デモ
実際に試してみたものが下記です。特にコーディングは必要ありませんでした。神。
MagicLeapのアドカレに参加しているので
— KENTO⚽️XRエンジニア😎Zenn100記事マラソン挑戦中19/100 (@okprogramming) December 2, 2020
MLTKを触ってました😎https://t.co/X0OdExlzYJ
MLTK使えばこういうのが
ほとんど何もしなくても実装できます👏
もっと早くMLTK使って
おけばよかったと思いました😇 pic.twitter.com/e6aFzrqm4j
##HandInput
HandInput
というコンポーネントが用意されており、シーン上に配置する必要があります。
Palm Collisions
というパラメータをオンにすると
手を開いた状態でも手に当たり判定を付けることができます。
##DirectManipulation
DirectManipulation
はインタラクションさせたいオブジェクトにアタッチする必要があります。
Rigidbody
とCollider
も必要です。
パラメーターは大量にありますが、言葉の通りで特に理解が難しいものはありませんでした。
##SoundOnCollision
SoundOnCollision
をインタラクションさせたいオブジェクトにアタッチすると
オブジェクトと手が衝突した際に音が鳴ります。
##おわりに
他にも超便利機能が山盛りなようなようです。
もっと早く使っとけばよかったです。