最近ははまっている フォトグラメトリーPhotogrammetryについて。前回からフォトグラメトリーソフト3DF Zephyrの チュートリアル#01 を解説しています。


PhotoGra_19

今回はその続きで、最後にはチュートリアルには含まれていませんが、3Dモデル作成後にそれを Unity に取り込む方法も紹介します。

【詳細な点群認識とメッシュの作成】

次により詳細な点群の認識を始めます。
メニューより「Dense Point Cloud Generation」をクリックします。

 Advanced > Dense Point Cloud Generation

PhotoGra_20

Wizard画面が表示されますので、基本的に初期設定のまま「Next」をクリックします。
PhotoGra_21

そして、最後に「Run」をクリックして実行を開始します。認識処理が終了すると結果が表示されますので「Finish」をクリック
PhotoGra_22

先ほどよりより細かい点群が表示されました。
PhotoGra_23

次にメッシュの抽出を行います。
メニューより「Mesh Extraction」をクリックします。

 Advanced > Mesh Extraction

PhotoGra_24

Wizard画面が表示されますので、基本的に初期設定のまま「Next」をクリックします。
PhotoGra_25

そして、最後に「Run」をクリックして実行を開始します。認識処理が終了すると結果が表示されますので「Finish」をクリック
PhotoGra_26

先ほどの点群での表示でなくメッシュでの滑らかな表示になりました。
PhotoGra_27

この時点で拡大してもとてもきれいです。
PhotoGra_28


【Textureの作成】

次にTextureの作成を行います。
メニューより「Textured Mesh Generation」をクリックします。

 Advanced > Textured Mesh Generation

PhotoGra_29

Wizard画面が表示されますので、基本的に初期設定のまま「Next」をクリックします。
PhotoGra_30
    
そして、最後に「Run」をクリックして実行を開始します。認識処理が終了すると結果が表示されますので「Finish」をクリック
PhotoGra_31

これで完成です。かなり美しい3Dモデルとなっています。
PhotoGra_32

拡大して詳細を見ても写真の通りに出来上がってます。
PhotoGra_33


【3Dモデルファイルの出力】

完成した 3Dデータを 3Dモデルのファイルにして他の環境やツールで使わなければフォトグラメトリーは意味がないかと思います。ここでは 3Dモデルでよく使われている Objファイル を出力してみます。

メニューより「Export Textured Mesh」をクリックします。

 Export > Export Textured Mesh

PhotoGra_34

Export formatで「Obj/Mtl」を選択します。そして、「Export」をクリック
PhotoGra_35

出力するフォルダとファイル名を指定します。そして、「Save」をクリック
PhotoGra_36

3DモデルのObjファイルが出力されました。
PhotoGra_37


【出力した3DモデルをUnityで使用】

フォトグラメトリーは他の環境やツールで使ってこそ価値が出ます。この出力した 3Dモデルファイルの Objファイルも、今回は Unityに取り込み表示するところまでやってみましょう。
(この部分は 3Dflow社のチュートリアルには含まれていません。)

Unityで 3Dの New Projectを開始します。

先ほど出力した3Dモデルファイル(objファイル、mtlファイル、jpgファイル)をファイルエクスプローラーから Unityの Projectビューにドラッグアンドドロップします。
PhotoGra_38

そして、Projectビュー内のモデルデータを Hierarchyビューにドラッグアンドドロップします。すると Sceneビュー上に3Dモデルが表示されました。
PhotoGra_39

見ての通り色がかなり違ったものになっています。
Materialを変更します。Projectビューの「+」ボタンより Materialをクリック
PhotoGra_40

新規 Materialの Shaderを「Unlit/Texture」に変更します。そして、Base(RGB)の右側のボックスに Projectビューから Textureファイルをドラッグアンドドロップします。
PhotoGra_41

そして、Hierarchyビュー上のオブジェクトファイルの配下にある子オブジェクトをクリックInspectorビュー上にある Mesh Rendererコンポーネントの Meterials: Element 0に今作成した Materialをドラッグアンドドロップします。

すると、実際の色で表示できました。
PhotoGra_42

どうでしょう。フォトグラメトリーで作成した3Dモデルを、Unity内にゲームオブジェクトとしてインポートできました。これで、ゲームやAR, VRツール内のモデルとして使用できるわけです。
PhotoGra_01


いかがでしたでしょうか。このフォトグラメトリー、たいへん簡単で利用価値もありますよね。特に私の興味のある ARでは必須な技術な気がします。今後もっと研究してこのブログでも解説をしていこうと思っています。


Sponsored Link