Help us understand the problem. What is going on with this article?

【ARkit】初音ミクを現実世界に出現させる

More than 3 years have passed since last update.

動機:話題のARkitを使ってみたかった()

開発環境

Xcode9.1 beta (9B46)/Swift4/iOS11/Blender2.79

ソースコード

準備中

1.配置したいMMD素材をDLする

配置する物体はMMDがベースになるので、好きなMMD素材をDLしまして下さい。

今回はニコニ立体よりミクさんのMMDをお借りしました。

Link

2.DLした素材をBlenderを使ってdae形式に書き出す

Xcodeは dae 形式でしか受け付けてくれません。なので1度Blenderで読み込み、その後Xcodeが受け取れる形で書き出します。

尚、Blenderは元々の状態ではDLした状態のpmx形式のファイルに対応していない為、MMDToolsがインストールされているものとします。

まず、ファイルの作成時に生成される余計なCamera、Cube、Lampを削除します。

Item-0_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_com_parallels_toolbox_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_Item-0_と_info_eurocomp_Timing-setapp_TimingHelper_mainStatusItem.png

Blender上部から ファイル->インポート->MikuMikuDanceModelを選択、DLしたファイルの階層に行き、pmxファイルを読み込みます。(読み込みには時間が掛かります。)

読み込みが終わったら、ファイル->エクスポート->Colladaを選択、元ファイルの階層に書き出します。

この際、「COLLADAのエクスポート」設定を必ず以下の様に行って下さい。
Blender.png

3.Xcodeのファイル作成

Xcodeでファイルを作成する際に、 AugmentedRealityApp を選択して下さい。 Appleが用意してくれているサンプルコードから始める事が出来ます。

スクリーンショット 2017-10-13 10.53.31-squashed.png

4.Xcodeへのファイルの取り込み

先程出力した.daeファイルをXcodeのart.scnassetsファイルに取り込みます。
元ファイルにあったテクスチャ画像のファイル等も同時に取り込んで下さい。

_Users_satokihigashi_Desktop_Swift_ARkitMiku_ARkitMiku_art_scnassets_と_art_scnassets.png

5.コード記述

今回の場合、先程も記述した様にサンプルコードがあるので、そこにあるファイルを呼び出す為のコードの値を変更するだけになります。

ViewController内のコードを記述します。(拡張子をDAEに変えても問題ありません。)

ViewController_swift.png

6.完成

以上で終了です。尚、実機でしかRun出来ないのでDeveloper登録を行っていない方は注意が必要です。

私の場合、サイズの変更がうまくいかなかったので直接mikusan.scale = SCNVector3(0.5, 0.5, 0.5)と記述しました。

Satopppy
よくわからない過去ログしか残ってません N.H.S → DHU / OB of Life is Tech!
https://sapy.pw/
nnn-school
IT×グローバル社会を生き抜く“創造力”を身につけ、世界で活躍する人材を育成する。
https://nnn.ed.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away