VRoidで作ったモデルをiPhoneXSでフェイストラッキングさせる(Unity ARKit)
VRoid面白いですね〜
わたしは根性がないので頭だけいじったモデルをいくつか作りました!!
踊らせるのは諦めたんですが、ちょっとでも動かしたいじゃない〜
と思ってフェイストラッキングさせてみようと思いました。
いまだにUnityとは仲良しじゃないから、歩み寄りたいですよね。
こちらを参考にさせていただきました!!
必要なもの
Mac、Xcode、Apple developerアカウント
iPhone用のアプリ作ろうとしてるので、超必須です。
実機につないでインストールするためには基本的にはdeveloperアカウント(99ドル/年)が必要なんですが、なくても実機には入れられるようです。
ただ、いまのXcodeってAutomatic Signingがすごく便利になったので、この辺も便利になったのかなぁ。ちょっと不明です。わかんなかったら年99ドル払お!
Unity、UniVRM
UnityとUniVRMは以前設定したのと同様でしたので省略です。
ARKit2
ARKit2はアセットストアで見つけきれなかったんですよね …
なので、Bitbucketからリポジトリまるごともってきました。
わたしはSourceTreeを愛用しています。
Unity-Technologies / Unity-ARKit-Plugin / Downloads — Bitbucket
ここからダウンロードするなら、多分2.0マージしてあるからdefaultブランチでもいいんじゃないかな〜
VRoidで作ったVRMのモデル
手順
- UnityでARKitのプロジェクトをそのまま開く
(新規プロジェクトにARKitをインストールする手順がわからなかった!) - UniVRMをインストールする
プロジェクトを開いたまま「UniVRM-****.unitypackage」をダブルクリック
(これ毎回やってるんですけどなんかいい方法ないんですかね) - VRMのモデルをプロジェクトに追加
VRoidで作ったモデルを「***.vrm」に出力したものをAssetsの下にドラッグ
しばし待つ
なんかいっぱいできるので、Assetsの下に「Model」とかいうフォルダをつくって入れてあげてもいいかもしれないですね!わたしはめんどくさいのでやっていません。 - ARKitの設定をする
ここの2つにチェックを入れる
- スクリプトを書く
サンプル「UnityARFaceAnchorManager」をエディタ(わたしはUnityのVisualStudioをインストールしていないので外部エディタです)にコピペして書き足し、Assetsの下に「FaceTracking.cs」という名前で保存。
- シーンを作る
これもサンプルををコピペして使います。
「FaceAnchorScene 1」っていうのが出来るので、「FaceTracking」にリネーム
こいつをダブルクリックして開く
「Hierarchy」にある
・ARFaceAnchorManager
はコピペ元なのでいらないです。削除。
「Create」から「Create Empty」を選択すると「GameObject」ができるので
名前を「FaceTrackingManager」にします。
さっき作ったFaceTracking.csがAssetsの下にあるので探し出して…
- モデルをシーンに追加
ワーイ
インスペクタで頭と本体を設定する。
頭はどこだ…!!!!頭ほんとどこにあるのかめっちゃ探しました。
- カメラを調整
なんかカメラが後ろ向きだったので〜、ひっくり返しました。
- iOSビルド
メニューの「File」-「Build Settings...」を選ぶとこういう画面が出てくるので、PlatFormからiOSを選んで「Switch Platform」
しばし待つ(けっこう時間かかる。つよつよMacなら一瞬かも。)
「Player Settings...」でXcode側の設定もできる。いちいち書き出してからSigningの設定するのめんどくさいのでやっておくといいですよ!!
チームIDはAppleアカウントで確認できます。
iOS Dev登録してなくても実機確認できるようなのですが、わたしはDev登録しているため省略です。よろしくです。
あとはIDをてきとうに設定したり、アプリ名を設定したり、必要ならアイコンやスプラッシュを登録したりしたらいいと思います。省略
そしたら、「Add Open Scenes」を押して、作ったシーンを選択
そして「Build」を押してお茶を入れます。
できあがった「Unity-iPhone.xcodeproj」をxcodeで開いて、実機に入れて
アプリ起動すると はいできたー!
このままだと背後に妖怪が映り込んでしまうので(スクショからは抹消しました)、困ってしまいました。
「壁みたいなのがあればいいのでは」「ハリボテを置こう」「天才」
「Hierarchy」-「3D Object」-「Plane」で平べったい板のようなものをつくって... よいしょよいしょと位置をずらして...
再ビルド
わーいうまくいきましたよ!
つくったすぐは髪が揺れてたんですが、ブログを書くために手順をやりなおしたら髪が揺れなくなっちゃった!Vroid Studioでのエクスポート間違えたかな〜!!
ちょっとUnityと仲良くなれた感じありますね!
では!