iPhone
Blender
apple
AR
ARKit

ARKitとニコニコ立体の力をお借りしてリビングにサーバルちゃんを召喚する

More than 1 year has passed since last update.

背景

2017/09/20にiOS11とXcode9が正式リリースされたので記念に「けもフレ」こと「けものフレンズ」のサーバルちゃんをリビングに召喚したいと思います。
こんなに少ない手数で手軽にARアプリ作りが体験できるってすごい!

[追記]この記事では静止しているサーバルちゃん、動かしました!
UnityとARKitとMMDデータを組み合わてリビングに”ダンスする”サーバルちゃんを召喚する

今回の作業環境

  • macOS Sierra 10.12.6
  • Xcode 9.0
  • Blender 2.79
  • iPhone 6s with iOS 11.0

3Dモデルの変換

3Dモデル

こちらの3Dモデルをお借りしました。ありがとうございます。
- ニコニコ立体: サーバル by shwarzさん
http://3d.nicovideo.jp/works/td28891

Blenderでpmxファイルを読み込めるようにする

ニコニコ立体でダウンロードしたzipファイルを解凍すると中にpmxファイルがあります。こちらをBlenderを通してdaeファイルに変換します。
Blenderでpmxファイルをインポートするにはアドオンとしてmmd_toolsを追加する必要があります。
リンク先からダウンロードしてBlenderの下記パスへディレクトリごと追加し、Blenderの「ファイル」→「ユーザー設定」→「アドオン」から「Object:mmd_tools」にチェックを入れます。

/Users/<ユーザ名>/Library/Application Support/Blender/<Blenderのバージョン>/scripts/addons
*Macの場合

.dae形式でエクスポート

アドオンが正常に読み込まれれば「ファイル」→「インポート」から「MikuMikuDance Model(.pmd, .pmx)」が選択できるようになっています。早速インポートしましょう。
ここでBlenderからアニメーションを付ける等、追加作業を行うことも可能です。今回は特に変更はせず、読み込んだらこのまま.dae形式でエクスポートします。
.daeへのエクスポートはデフォルトでサポートされています。
スクリーンショット 2017-09-26 22.05.51.png

ARアプリの作成

*アプリ作成が初めての場合の注意
・ Xcode->Preferences->Accountに開発用AppleIDとteamが登録されていないとビルドできません。
・ 検証用端末(今回の場合iPhone6s)側でアプリのインストールを許可する必要があります。ビルドした後、設定アプリの「一般」→「プロファイルとデバイス管理」からご自身作成のアプリを許可しましょう。

プロジェクト作成

新規プロジェクトを作成します。テンプレートはもちろん"Augmented Reality App"です。
serval.png
先程変換した.daeファイルを<設定したプロジェクトのパス>/<プロジェクト名>/art.scnassets/へ移動します。読み込んだら今回不要なrigidbodiesを削除してしまいましょう。
serval02.png
なぜかサーバルちゃんは床に寝ていますしそのままだと少し大きすぎるので諸々パラメータを変更します。パラメータ変更例として以下の画像(右ペイン)をご参照下さい。
serval03.png

変更したら.daeファイルを.scnファイルへ変更します。上の画像の通りメニューバーのEditorから変換できます。
これでほぼ完了です!
あとはViewController.swiftのship.scnを今回変換したファイル(画像ではserval.scn)に変えるだけ!!
serval04.png

私のビルド結果を、これまたiOS11から入った画面録画で収録しTwitterにあげましたので参考までにご確認下さい。
https://twitter.com/smile_0yen/status/912436595164401664


上の私のケースではランプを追加して少し照明を調整したりしています。
蛇足ですがカメラをやや斜めに、床方向に向けた状態で環境を認識させると周囲と比較的うまくマッチした状態で固定されます。

最後に

ご紹介したのはあくまで一番簡易的な方法ですのでポーズをつけたりアニメーションをつけたり、サイズを変更できるようにしたりといろいろな変更が考えられると思います。是非色々試して一緒に楽しみましょう!

参考リンク