歌い踊る自分をARで見たい[ARKit編]
作りたいもの
ARでどこでもエイサイハラマスコイ踊りがしたい。
できたもの
公園でエイサイハラマスコイ。
立ち入り禁止の芝生の上でもエイサイハラマスコイ。
製作の記録
Unity ARKit plugin
VtuberごっこのおかげでUnityの操作はわかってきた。
Xcodeは未だによくわからないので、ARKitもUnityで使ってみる。
早速Asset storeからダウンロード。
こっちで最新のが公開されてたりする。
ARKit1.5の新機能とか楽しかった。
細かい話はこちらのスライドがとても詳しかったです。
今回やることくらいなら読まなくても大丈夫だった。
Exampleを開いてみる
Assets / UnityARKitPlugin / Examples / UnityARShadows / UnityARShadows を開いてみる。
これはタップした所に小人が出て来て、床に影が落ちるサンプル。
一度何も手を加えずにビルドして見ても楽しい。
初めてのiOS Appだったけど、ビルド設定等は以下のサイトが参考になりました。
特にCamera Usage Descriptionを空白にするとAppが起動直後に落ちた。
落ちるとXcodeにこんなエラーメッセージが出る。
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
タップした場所にモデルを置く
たくさんモデルを表示して賑やかにしたい。さっき開いたExampleに手を加えていく。
以下の記事が参考になりました。
こちらのScriptを使用させていただきました。
このScriptをGame Objectにくっつけて、置きたいモデルをセットする。
Exampleに入ってるHitPlayerは無効にしておく。
置いたモデルが同じ方向を見てると寂しい。
置いた時にモデルの正面がカメラの方を向くようにしたい。
カメラの姿勢はこれで取得できる。
UnityARMatrixOps.GetRotation (UnityARSessionNativeInterface.GetARSessionNativeInterface ().GetCameraPose ())
ちなみに、UnityARMatrixOps.GetRotation ()
はARKitの座標系をUnityの座標系に変換するもの。
あとは歌って踊るPrefabを用意すれば完成。
とはいえAnimationもAudioもわからないので後編に続く。
後編書いた。