Vuforia Studio 3D活用備忘録：LiDARでスキャンした3Dを色付きで取り込む

#はじめに

iPadや iPhoneで LiDARにより実物をスキャンして 3Dデータ化できるアプリが登場している。
Vuforia Studioでは、スマホ・タブレット用と HoloLens用に、そのスキャンした 3Dデータを色付きで取り込んで ARを作成できるので、備忘録としておく。

#前提

この備忘録は、Vuforia Studioで、ARコンテンツを独力で作成できる人が対象。

#LiDARでスキャンした3Dデータの取り込み例

###LiDARでスキャンした3Dデータを準備する

iPadや iPhoneの LiDARによる3Dスキャンアプリから、.objファイルを出力できるようだ。それなら、Vuforia Studioにインポートできる。

.objファイルだけではなく、.jpgファイル、.mtlファイルの３ファイルを取り出して、Vuforia Studioの PCにコピーしておく。.objファイルだけだと形状だけで、色を取り込めない。.jpgファイルと .mtlファイルがあれば、.jpgファイル内の細切れ画像をテクスチャとして形状に貼り付けることができ、実物のような見栄えにできる。実物の見栄えに近づけるには、3Dスキャンアプリにてテクスチャを高品質（High Quality）にしておくのがよい。尚、Vuforia Viewの仕様のため、取り出した .jpgファイルの横幅が 4096ピクセルを超える場合は、以下になるように変更しておく。Windowsのペイントアプリのサイズ変更機能で、横幅の確認と変更ができる。

###Vuforia Studioに、スキャンした3Dデータをインポートする

まずは、新規ARプロジェクトを作成する（スマホ・タブレット用なら Mobileで、HoloLens用なら 3D Eyewearで）。そして、3Dキャンパスに、モデルウィジェットをドラッグ&ドロップで配置する。一般の 3Dデータのインポートであれば、モデルウィジェットのリソースとして 3Dデータファイルを選択指定するだけでよいが、色付き（テクスチャ付き）で .objファイルをインポートする場合には、その前にしておくことがあるので注意。

先に、画面左下の、「リソース(Resources)」またはその下の「アップロード(Uploaded)」の右の緑＋アイコンをクリックして、.jpgファイルと、.mtlファイルを ctrlボタンで同時選択して一括アップロードする。これらを先にアップロードしておかないと、.objの 3Dにテクスチャが反映されない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297270/18d65386-d368-b894-21a3-093ffd5e13c7.png)

その後、モデルウィジェットを選択して、画面右上のプロパティのリソースのアップロードとして、.objファイルを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297270/e81a8588-160c-0272-4ea1-9d033290f189.png)
もう一つの注意点がある、Vuforia Studio バージョン 8.5.13以降では、3Dのメタデータ抽出ができる「エクスペリエンスの CADメタデータへのアクセスを許可」チェックボックスがあるが、これは未チェックにしておく方がよさそう。チェックすると 3Dに張り付くテクスチャに変な格子模様が出ることがあった。

「追加」ボタンをクリックすると、取り込まれるまでに少し時間がかかる。pvz（Vuforia Studioで利用する 3D形式）に変換しているメッセージが出る。
下図は、取り込んだ結果の一例。本例では、実際の寸法で 3Dが取り込めていた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297270/f60213ca-767f-6154-4a41-ea3f9340875d.png)

###公開（パブリッシュ）して、Vuforia Viewアプリで AR表示できるかを確認する

Vuforia Studioに取り込み表示ができた、プレビューで表示ができた、となれば、公開（パブリッシュ）して AR表示を確認してみる。空間ターゲットを 3Dキャンパスにドラッグ&ドロップで配置するなどで 3D表示の起点となるターゲットを配置して、ThingMarkを使わない場合はエクスペリエンスの ThingMark 関連付けを「なし」にして、パブリッシュする。そして、Vuforia Viewアプリで QRコードを読み取る。

おぉ！ 実物と同じ大きさで、実物と同様な色付きで、バーチャルに 3Dが表示された！ すごい！

これを使うと、3Dを活用する様々な ARを作成し、利用できそうだ。尚、もしもプレビューでは表示されるのに実際の ARだとちゃんと表示されないということがあったら、準備についての説明を再確認するとよい。

実物（左）と、 LiDARスキャン3Dの AR表示（右）とを大雑把に配置して並べた例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297270/e18d27b3-d97c-44e5-50c3-c9d3ecc18085.png)


#複数のスキャンした 3Dデータを取り込む

###LiDARでスキャンした3Dデータを準備する

複数の 3Dデータを取り込むにあたり課題となるのは、ファイル名が重複しないようにすること。理由は、Vuforia Studioでは同じファイル名のファイルをアップロードすると、上書き更新となるため。3Dスキャンアプリ側で、.objファイル、.jpgファイル、.mtlファイルを別名保存できない場合には、PC上で重複しないファイル名への名前変更と参照ファイル名の記載変更が必要になる。
ファイル名は任意でよさそうなので、理解しやすいファイル名にするのもよい。尚、元々のファイルはバックアップしておいてから、ファイル名変更と記載変更をするとよい。

###Vuforia Studioに、スキャンした3Dデータをインポートし、パブリッシュして確認する。

複数の場合は、モデルウィジェットを複数にすれば、取り込む方法は同じことの繰り返しになる。

まずは、.jpgファイルと .mtlファイルを複数 3Dデータ分をすべて ctrlボタンで同時選択して一括でアップロードする。

その後、モデルウィジェットを選択して一つめの .objファイルをアップロードして取り込み、もう一つのモデルウィジェットを選択して二つめの .objファイルをアップロードして取り込む。
あとは、複数のモデルウィジェットを移動や回転して、目的の配置にしておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297270/32e6fb22-0283-e2a4-f492-2301a9fc5175.png)
パブリッシュして、Vuforia Viewアプリで AR表示して確認する。
おぉ！　複数でも色付きで表示できた!


#おわりに

iPadなどで手軽に実物をスキャンして 実寸で色付きで3Dデータ化できるようになったのはすごい。そしてスキャンした3Dは Vuforia Studioですぐに簡単に ARとして利用することができる。もうこれで、3D CADデータが無いからやりたい ARが出来ない、なんてあきらめる必要はない。
今後、これの活用例について投稿していきたい。