
Reality Captureの使い方とコツ【Photogrammetry】
しゅーやと申します。
フォトグラメトリー ソフトの
Reality Capture の使い方を簡単に書いていきます。
~このチュートリアルの内容~
写真を撮って、Reality Capture(以下、RC)で3D化するまでのやり方と
ちょっとした撮影のコツを書いています。
細かな機能の説明等は省いており
Reality Captureでとりあえず3D化したい方向きになっております。
1. 撮影
1-1. カメラ
トップ画像のおいなりさんはiPhoneで撮影しています。
一眼レフ等を使うのに越したことはないですが
高精細を求めないのであればスマホでも問題ありません。
スマホで撮る場合は
Adobe Lightroomのアプリを使うのがおすすめです。
RAW画像を撮ることができ、シャッター速度等の設定もできます。
1-2. 撮影のタイミング
曇天の影が薄い日に撮るのがおすすめです。
画像処理やDelightingで後から影の要素を取り除くことは不可能ではありませんが、撮影の段階で影は薄く、少ない方が良いです。
くっきりとした影が被写体に落ちている状態は、特に避けたいです。
影が乗っている状態で使うことも多々ありますが
影、オクリュージョンのない、しっかりとしたAlbedo(Base Color) を作ることで汎用性のあるアセットができます。
1-3. 撮る
色温度やシャッター速度等が変えられる場合は固定にして
色味や明るさが自動で変わらないようにしておきます。
暗いところではブレやすくなるので、ブレない程度のシャッター速度にしておくのも1つの手です。
上から、真ん中から、下からそれぞれ、360度撮っていきます。
このおいなりさんでは計3周ぐるっと撮影しています。
前後の写真と40~50%前後、重なるように撮るのがコツです。
トップ画像のおいなりさんでは計75枚。

2. Realty Captureの初期設定
最初に少しだけ設定をしておきます。
この設定を行わなくても問題はありませんが、やっておくことをおすすめします。

①「WORKFLOW」タブの「Settings」で設定をクリックすると、右側に設定が開きます。

②「Cash location」を「Custom」にして
キャッシュのディレクトリを決めておきます。
RCは大容量のキャッシュを生成するので
わかりやすい場所に設定しておくのがおすすめです。
③Import settings の「Group calibration by exif」を「Yes」にします。

④「ALIGNMENT」タブに移り
⑤こちらでも「Settings」を開きます。
⑥「Image overlap」を「Low」にします。
画像の重なり具合に関する設定で、高いほど多くのオーバーラップを必要とします。
⑦Advancedの「Detector senstivity」を「Medium」にします。
RCが検出するポイント(それぞれの画像を繋ぐためのポイント)の感度の設定です。
高いほど高感度で色情報の差が少なくても、ポイントを設定してくれますが、エラーも起こしやすくなります。
「High」はボディスキャン等で使うらしいです。
その他の重要な設定
Max Features per mpx/image:メガピクセル/画像あたりに使用する最大の特徴点の量。多いほど計算時間が延びるが繋がる可能性も高くなる
設定の詳細は、こちらのドキュメントに記載されています。
3. 画像の読み込み
「WORKFLOW」タブの「Input」から画像を読み込みます。

「1Ds」をクリックすることで、文字情報のみや画像の表示などを切り替えることができます。
4. 3D化①(ポイントクラウド)
3D化の事前の計算をしていきます。

「2. Process」の「Align Images」でポイントクラウド化します。
「Start」を押すとAlign Images、Normal Detail、Texturingまでを一括でやってくれます。
個人的には、調整したり、様子をみながらやりたいので、1つずつ実行する方が好きですが、好みやケースバイケースです。

うまく撮影できていれば「Component 0」のみが作成されます。
うまく3D化できずにComponent 1、2...と複数できることも多々あります。
この場合、自分でポイントを指定して、別のComponent と合体させることもできます。
半透明のボックス内入っている部分が次のポリゴン化で計算されます。
そのため、このボックスの大きさや位置を調整して、必要な部分だけがに収まるようにします。
5. 3D化②(ポリゴン)
実際にポリゴンにする計算です。

「2. Process」の「Normal Detail」でポリゴン化する計算をします。

6. テクスチャ・頂点カラーの生成

「Colorize」で頂点カラーに色を付けることができます。
「Texture」は、UV展開がされ、テクスチャが作成されます。

UV展開、テクスチャの枚数や解像度などの設定は「MESH MODEL」タブの「Settings」から様々な設定の変更が可能です。

6. モデルのエクスポート

「3. Output」タブの「Export」から様々な形式でモデルやテクスチャをエクスポートすることができます。
テクスチャをExportしたい場合は、Export Textures をYesにしましょう。

7. まとめ
詳細は省きますが
このおいなりさんは
・撮影、Lightroomを使って画像処理
・Reality Capture
・Zbrushでモデルの修正、リダクション(ローモデルの作成)
・UnityのDe-Lighting toolやSubstance Designerでオクリュージョンの修正
・Substanceでベイク、Roughness等のその他のテクスチャの作成
を経て、Marmoset Toolbagでレンダリングしています。
また、Reality Capture内にもポリゴン数の削減など
色々な機能があるで、RC内で完結させることも可能だと思います。
精度やクオリティにこだわらなければ
スマホでさくっと撮って、さくっと3D化できるのでぜひ試してみて下さい。
参考
Full Photogrammetry Guide for 3D Artists
--------------------------------------------
その他のチュートリアル
https://actimeth.com/creativlog/category/tutorial/
フォトグラメトリのおすすめ記事、チュートリアル
・Reality Capture ヘルプ
・Grzegorz Baranさんのチュートリアル
・Photogrammetry Basics
・GO SCAN THE WORLD! PHOTOGRAMMETRY WITH A SMARTPHONE
・How to make textures from photogrammetry tutorial
・COLORSプロジェクトフォトグラメトリに挑戦してみた