写真から高画質な3Dモデルを自動生成!フォトグラメトリで遊ぼう
こんにちは。
最近ジョジョを読みはじめてすっかりハマってしまった、プログラマの稲垣です。
ところで、皆さんは「フォトグラメトリ」という技術をご存知でしょうか?
フォトグラメトリって何?
- 写真から3Dモデルを生成する技術のこと(複数の写真から得られる視差から3Dモデルを生成する)
- テクスチャも一緒に生成
- フォトリアルな3Dモデルが作れる!
これまでフォトグラメトリの「フォ」の字も知らなかったのですが、お仕事でVRの開発に関わることがあり、VRで使われるフォトリアルな3Dアセットを調べたり探しているときに知った技術でした。
フォトグラメトリという手法自体は新しいものではなく、古くからあるもののようですね。
写真さえ撮ることができれば何でも3Dに出来るなんてすごい!便利!
もしかして欲しいアセットにぴったりのものが見つからないときにさっと作れたりもするの……?!と夢が広がります。
個人的には写真から3Dモデルを組み立てるロジックの方にとても興味を惹かれますが、ここでは簡単に、さっとフォトグラメトリを体験できる方法をご紹介します。
どうやって写真から3Dモデルを作るの?
- キレイに作るなら専用ソフト
- Unityなどでアセットとして使いたい場合も専用ソフト
- 3Dモデルを作って遊ぶだけならモバイルアプリでも作れる!
まずは簡単なモバイルアプリから。
アプリをかざすだけで簡単!フォトグラメトリ
display.landという無料のアプリを使うと、現実にあるアイテムを簡単に3Dモデルにすることができます。
display.land
実際に使ってみましょう。
自宅のぬいるぐみをアプリでスキャンします。
スキャンはとても簡単。アプリ内でカメラが起動するため、3Dスキャンしたいアイテムをいろいろな角度から動画で撮影するだけ。
急に撮影の角度を変えたりせず、ゆっくりと360度漏れなく撮影するのがキレイにスキャンをするコツです。
さて、撮影したこのぬいぐるみはどのようになるでしょうか。
こんな風になりました!
↓↓↓
背景は視差の情報が少ないためキレイに取り込めませんでしたが、ターゲットのぬいぐるみは比較的キレイにスキャンできています。
テクスチャも写真から合成しているため、ふかふかな雰囲気がそのままよく出ていますね。
「うーん、確かにお手軽だし面白いけど、品質的にもアセットとしては使えないかなぁ……」
そうなんです。
あくまでdisplay.landのサービスは、現実の空間を3Dとして切り取れること、それを他の人とシェアできることがメインのサービス。
スキャンした3Dデータをエクスポートすることもできません。
実際にUnityなどに取り込める高画質でエクスポートできるデータを作成するには、専用ソフトを使いましょう。
少ない写真や動画から高品質な3Dモデルを生成する、3DF Zephyr(無料版)
ちょっと無料で試してみたい、という方にオススメなのがこちらの「3DF Zephyr」というソフトです。
- もともとはドローンで撮影した大量の画像から広範囲の3Dモデルが作成できたりするすごいソフト
- 静止画だけでなく、動画からも3Dモデルを生成可能
- 無料版はINPUT画像の枚数に制限あり
こちらも実際に試してみました!
今回は「石」を3Dモデルにしてみます。
まずは写真を取ります。
写真はごく普通のiPhoneで取った写真。
できるだけ死角が無いようにいろいろな角度から撮ります。
屋外だったので、石に自分の影が落ちないよう四苦八苦しながら撮影。
この写真を3DF Zephyrに取り込み、いろいろ設定をして出力すると……。
こんな風になりました!
↓↓↓
近付いて見てみると本当にリアルです。
今回はどれほどリアルに出力できるのか見てみたかったので、かなり大きなデータになってしまいましたが(この石ひとつで200MBくらいあります)、3DF Zephyrで3Dに変換するときのオプションで、出力するデータの頂点数など細かく設定することができます。
また、無料版でも.fbxの形式(3Dデータのファイル形式のひとつ)で出力ができるため、実際にUnityなどに取り込んでみることもできますよ。
さて、いかがでしたでしょうか。
思ったより簡単に、しかも無料で体験できますのでぜひ皆さんも試してみてくださいね!