iPhoneアプリ「Metascan」で撮影した3DモデルをAWS IoT TwinMakerで使ってみた
こんにちは、CX事業本部 IoT事業部の若槻です。
前回のエントリでiPhoneのLiDARを利用してMatterportアプリによる3Dスキャンをしてみましたが、他のLiDAR対応アプリも試してみたくなりました。
一般ユーザーが簡単に使える3Dスキャンアプリはメジャーなものでも5種類くらいが出回っているのですが、今回使ってみたのはMetascanです。
Metascanを選んだ理由としては、既製品のアプリだけでなく開発用のSDKも提供されている点が面白そうだったからです。(このAbound SDKについては次回以降触れてみたいと思います)
というわけで今回は、iPhoneアプリ「Metascan」で撮影した3DモデルをAWS IoT TwinMakerにインポートするところまでやってみます。
端末
使用した端末はiPhone 12 Proです。つい最近じゃんぱらで中古品を入手しました。
このモデル以降のiPhoneではカメラにLiDARが搭載されています。
やってみた
Metascanアプリでのスキャン方法には「PHOTO」と「LIDAR」の2つのモードがあります。
それぞれ試してみたところ、PHOTOはモノ(物体)のスキャン、LIDARはスペース(空間)のスキャンに適していることが分かりました。
モノをスキャンする
まずモノとして折りたたみ椅子をスキャンしてみます。
Metascanアプリをインストールしたら、スキャンを開始します。
PHOTOモードで折りたたみ椅子の2D写真を360°様々な方向から撮影していきます。
撮影が完了したら2D写真をアップロードして3Dモデルの生成処理を行います。
生成された3Dモデルがこちら。椅子以外にも周囲の余分なものが紛れ込んでいますね。
3Dデータをクロッピングして椅子以外を削除します。
出来上がりがこちら。脚などの細くて複雑な構造はもっと念入りにスキャンする必要があるようです。
スペースをスキャンする
続いてスペースとして自宅廊下をスキャンしてみます。
LIDARモードでは動画を撮りながら360°方向すべてを塗りつぶすようにスキャンします。
スキャンが完了したら3Dモデルの生成を行うのですが、生成のクオリティには3段階あります。最上位の「Pro」は有料なのですがトライアルに加入してProで生成してみます。
出来上がりがこちら。物体の表面の再現などMatterportには敵いませんが、廊下の3Dモデルが作成できました。
AWS IoT TwinMakerにインポート
作成した3Dモデルを、AWS IoT TwinMakerにインポート可能なGLTF形式に変換して作業用PCに共有します。
TwinMakerのResource Libraryに3Dモデルをアップロードします。
Sceneにそれぞれ追加します。
モノ(折りたたみ椅子)。
スペース(自宅廊下)。
ちなみにモノの方はメッシュは1つのみ、スペースの方は2つとなりました。
メッシュが別れていれば、メッシュ毎にruleを紐付けてIoTデータなどに応じて色を変えることが可能です。このメッシュの付け方はSDKを使えば制御できるのでしょうか。次回以降に確認してみます。
おまけ
Sketchfabにアップロード
今回作成した3Dモデルを、3Dモデル共有プラットフォームであるSketchfabにアップロードしてみました。
Sketchfabは本来は3Dゲーム向けのアセットを共有するサービスなのかも知れませんが、こうやって自分で現実世界をスキャンしたデータも公開する使い方もできます。便利。
スキャンモードの使い分けは必要
冒頭でも触れましたが、モノのスキャンはPHOTOモード、スペースのスキャンはLIDARモードが適しているという結果となりました。
モノ(折りたたみ椅子)をLIDARモードでスキャンすると脚が消えてしまいました。
またスペースをPHOTOモードでスキャンすると、ぐにゃりと歪んだ3Dモデルが生成されました。
やはり、何をスキャンするかに応じてモードを上手く使い分ける必要がありそうです。
おわりに
iPhoneアプリ「Metascan」で撮影した3DモデルをAWS IoT TwinMakerで使ってみました。
Matterportほど高クオリティではありませんが、安価で3Dモデルを簡単に作成したりデータ変換したりできるのは良いですね。遊び心をとても刺激されるアプリです。しばらくこれで遊んでみます。
以上