フォトグラメトリ手順書 06 モデル修正編

2024/11/02 「フォトグラメトリ手順書 v2」をZennにて公開しました!
内容も大幅アップデート、新たなTIPSも紹介しています。
今後はそちらで更新していく予定です。

RealityCaptureで調整

SelectionLossoを使い大まかに不要な部分のポリゴンを囲うように選択する。

選択したらFilter Selectionを実行する。

選択したポリゴンが削除される。


そのままではハイポリ過ぎるのでディテールが損なわれない程度、2M~5M程度を目安にSiplifyを使ってポリゴンリダクションを行う。

※HoloLens 2で利用する場合は30fps程度で表示可能なポリゴン数である1Mポリゴンにリダクションする (60fpsが必要な場合は2~300,000ポリゴン程度まで削減する)


UVを生成する。
この時点ではテクスチャはまだ本番用ではないので、8kテクスチャ1枚とする。
※次の工程でDCCを用いてモデル調整を行うがテクスチャが複数枚あるとDCCツールの挙動が重くなるためここでは1枚としておく

UVが生成できたらテクスチャを生成する。


ExportModelからモデルを書き出す。

FBXで書き出す。
設定は以下の通り。

  • Export textures
    Yes
    テクスチャを書き出すかどうか
  • Embedded textures
    No
    テクスチャをFBXファイルに内包するかどうか
    テクスチャを調整する事を想定し内包せずに書き出す
  • Tile type
    (u,v)
    最終的にモデルをUnityで用いる場合は影響は無いがUE4で使用する場合は(u,v)を使用していないとテクスチャが歪んでしまう
  • Rotate X
    -90
    モデル調整でCinema4Dを使う場合は-90としておくと正しい向きで読み込める
    利用するソフトに応じて調整する

書き出すとFBXと同じ階層に*.rcinfoというファイルが生成される。
このファイルは後にモデルを再びReality Captureへ戻す際に必要なファイル。
※このファイルが無いとReality Captureへ読み込んだ際にモデルの位置や向きが変わってしまう


Cinema4D

Cinema4DでFBXを読み込む。


読み込み設定はデフォルトのままでOK。


そのままだとテクスチャの解像度が低い状態なのでマテリアルのビューポートの設定を8kにする。

コンスタントシェーディングにするとライトの影響を受けない表示が可能。
フォトグラメトリモデルの場合はこの表示にする事で撮影時と同じ表現となる。


不要なポリゴンをまずおおまかにポリゴンモードで選択肢削除していく。


エッジの処理はラインカットを使う。

Aパートを消去またはBパートを消去を使うとカットと同時に削除されるので作業がスムーズ。
自動スナップが効いていると正しく削除されないことがあるのでオフにしておく。


欠けている箇所にポリゴンを足したい場合はポリゴンペンを使用する。

投影モードを使うことで、クリックした位置にあるポリゴンへ張り付くようにポリゴンを貼っていくことが出来る。


ガラス部分は大きく破綻しているので、余計なポリゴンを削除してから穴埋めを行う。

ポリゴンの穴を閉じるを使うと自動で穴を塞ぐことが出来る。

塞いだ直後、UVが正しくないためテクスチャも正しく貼られていない状態となるが、この後の工程でReality Captureにてテクスチャを再度生成するのでこの段階では気にせず進めてしまう。


見えない範囲やディテールの不要な範囲のポリゴンは出来るだけ削除する。
不要なポリゴンを削除することで全体のテクスチャの解像度が相対的に上がる。

Houdini

ポリゴンリダクションを行う際にディテールを保持しつつ平らな面のみリダクションしたい場合はHoudiniが便利です。
こちら にその手順をまとめました。


続いて、調整したモデルをRealityCaptureへ戻しテクスチャを生成し直す。