トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

AirPodsProの加速度センサーをUnityで使うサンプルプロジェクトを動かす

おおー

 

 これを叩けばいいって。よく分からないな〜

https://developer.apple.com/documentation/coremotion/cmheadphonemotionmanager

Unityのサンプルプロジェクト

 耳につけた状態で動くんだ!片方でも動くのかな〜?

 

このかたのライブラリがあった

github.com

Readmeで使い方をかなり詳しく説明してくれている

回転データに使用されているヘッドフォンは1つだけらしい

サンプルビルド

自分でプロジェクト作って、このリポジトリの中身をAssets下にコピーする。

f:id:bibinbaleo:20200929223204p:plain

ExampleのシーンをiOSビルドする。

f:id:bibinbaleo:20200929223208p:plain

f:id:bibinbaleo:20200924223903p:plain

XCodeで許可

 

iOS14のiPhoneやiPadにXcodeからビルドする。

1度目はアプリを立ち上げてもロゴが出終わったとにアプリが閉じる。

ログを見ると

[access] This app has crashed because it attempted to access privacy-sensitive data 
without a usage description. The app's Info.plist must contain an NSMotionUsageDescription 
key with a string value explaining to the user how the app uses this data.

とでてる。

これも公式ページに書いてて、MotionTrackingを使う許可をもらわないといけない。

Products>Info.plist

f:id:bibinbaleo:20200929221243p:plain

適当なところを右クリック>Add Row

f:id:bibinbaleo:20200929221239p:plain

NSMotionUsageDescriptionと入れる。自動でPrivacy~に変わる

f:id:bibinbaleo:20200929224825p:plain

Valueに何か書く。許可ダイアログに表示される文章

f:id:bibinbaleo:20200929221235p:plain

そしてビルドしなおすと、アプリ立ち上げ時に許可ダイアログが出る

f:id:bibinbaleo:20200929224850p:plain

OKすると動く!!

結果

本当にぬるぬるだ〜。この時は左のイヤホンの動きをもとに動いてた。

鏡じゃなくて、自分の動きを後ろから見ているようなイメージ

置き換え

HeadphoneMotionExampleのRotateObjectを置き換えれば変わる

f:id:bibinbaleo:20200929224039p:plain

ついでにカメラの位置も反対側にして、うなずいたらちゃんとモデルも前に頷くようにした。

 

 いい感じ!

f:id:bibinbaleo:20200929224829p:plain

ちなみにイヤホンとしても同時にちゃんと使えた

f:id:bibinbaleo:20200929230145p:plain

ネイティブ

XCodeのネイティブでやっている方

qiita.com

github.com

最後に

これでアバター動かせるのめちゃくちゃいい!!

精度すごくいいし、つけてて全く苦痛じゃないしこれでマイクやイヤホンとしてもそのまま使えるし最強そう。

そういえば私のiPadは古くて空間オーディオには対応してなかったけど、これは動いた!よかった!

bibinbaleo.hatenablog.com

 

 6Dofを実現した人がいる

www.moguravr.com