Apple ARKitが話題になってるので、ユニティちゃんを踊らせてみました。
とりあえずうまくいったので手順を公開しておきます。
ARKit Unity PluginはUnity 5.6.1p1以上で利用可能です。
環境構築はこちらを参考にさせていただきました。ありがとうございます。
Candy Rock Starのデータを使う
ユニティちゃんのデータダウンロードサイトで利用規約に同意しユニティちゃんライブステージ! -Candy Rock Star-のデータをダウンロードします。
ダウンロードしたunity-chan-crs-master.zipを展開します。
展開したフォルダから Assets -> Scenes -> Main.unityを選択してシーンを開きます。
ライブシーンはそのままでは編集するのが難しいのでこちらで公開されているユニティちゃんライブパッチをダウンロードしてimportします。
ヒエラルキーに各オブジェクトが表示されます。
Assets -> UnityChan -> Prefabs -> CandyRockStar を選択してExport Packageを選択します。とりあえず依存するオブジェクトをすべてエクスポート。
unity-chan-crs.unitypackage
として保存します。
ARKit Unity Pluginをインポートする
Candy Rock Starのプロジェクトを終了して、Unityから新規プロジェクトを作成します。
ここではプロジェクト名をarkit-unity-chan-crs
とでもしておきます。
こちらで公開されているunity-arkit-plugin.unitypackage
をダウンロードします。
ダウンロードできたらプロジェクトのAssetsパネルににドラッグ&ドロップしてインポートします。
シーンにユニティちゃんを追加する
Assetsパネルに先ほどエクスポートしたunity-chan-crs.unitypackage
をドラッグ・アンド・ドロップしてインポートします。
AssetsパネルからUnityARKitScene
をダブルクリックしてシーンを表示します。このシーンをカスタマイズしていきます。
シーン上のRandomCubeとHitCubeParentを削除します。
RandomCubeがあった場所に Assets -> UnityChan -> Prefabs -> CandyRockStar を追加します。
Camera Parent -> MainCameraのプレビューをみながら、画面の一番下にユニティちゃんのつま先がくるように位置を調整します。
シーンを再生するとこんな感じです
ユニティちゃんのPrefabにスクリプトUnity AR Hit Test Example
をAdd Componentします。これがARKitの平面認識をするサンプルスクリプトです。
File -> Build Settingsを選択してダイアログを開きます。Add Open Sceneボタンをクリックしてシーンを追加します。
PlatformからiOSを選択してswitch platformボタンをクリックします。
Player SettingsボタンをクリックしてBuild Identiferを変更します。
Camera Usage Descriptionに"Camera Use"とでも記載しておきます。
設定できたらBuildボタンをクリックしてiOSプロジェクトをビルドします。
プロジェクト名はarkit-unity-chan-csr-ios
としておきます。
ビルドが完了したらarkit-unity-chan-csr-ios
フォルダの中のUnity-iPhone.xcodeprojを開きます。
iPhoneを接続し、Build Identifer、Signingの設定をして左上の再生ボタンをクリックしiPhoneにアプリをビルド&インストールします。
インストールが完了して、アプリが起動し、カメラアクセスを許可するとユニティちゃんが踊りだします。
とりあえず踊るトコまで。リップモーションが動いてないとかBGMについては後で追記します。