日々フォトグラメってる龍 lileaです。
今回はフォトグラメトリで生成したモデルの修正方法について紹介します。
モデルの修正には大きく2つのアプローチがあります。
- 外部ソフトで修正したモデルを読込みテクスチャを再生成する
- フォトグラメトリソフト内で行う
この記事では主に1の方法について説明します。
前半はReality Captureを用いた方法、
後半は3DF Zephyrを用いた方法です。
2の方法については、
Reality Capture内で修正する方法はReality Capture編の最後で簡単に紹介します。
3DF Zephyr内で修正する方法はnoriaさんのこちらの記事が参考になります。
Reality Capture編
1. モデルを書き出す
こちらが生成したモデルです。
薄い部材のため穴が空いてしまいました。
Reconstruction > Export > Model から書き出します。
書き出し先は半角名のパスである必要があります。
全角のパスを指定すると [Exporting Textured and Colored Mesh – FBX SDK : Export failed.] エラーとなってしまいます。
書き出すと.rcInfoというファイルも生成されます。
これは読み込み時に必要なファイルなので書き出したファイルと同じ階層に置いておきます。
2. DCCツールで修正
お好みのソフトで破綻したメッシュを修正します。
以下はCinema4Dの穴埋めツールを使う場合です。
※これと同じ原理でReality Capture内での穴埋めも可能です(後述)
3. 修正モデルを読み込む
書き出し時と同じプロジェクトへ修正したモデルを読み込みます。
この時.rcinfoファイルも読み込むモデルと同じ階層に置いておきます。
Reconstruction > Export > Model
4. UVを生成する
DCCツールでUVを生成している場合はこのステップは不要です。
Reality Capture内で生成する場合は以下の手順で行います。
Reconstruction > Tools > Unwrap
1Dsウィンドウに設定画面が表示されます。
ここでテクスチャ生成時のサイズや枚数が指定できます。
Large triangle texture resolution:数値を大きくする程サイズの大きなポリゴンに対してもUVの領域を割くようになります。
Maximum texture count:生成するテクスチャの枚数です。
Unwrapボタンを押すとUVマップが生成されます。
Scene > Scene Render > Sweet でマップの状態を確認できます。
5. テクスチャを再生成する
Textureボタン右下のSettingsを押すとここにもUnwrapの設定画面が出てきますが、これは読み込んだモデルにUVマップが無かった場合にこの設定を使ってテクスチャ生成をするというものです。
今回は前手順でUVマップを既に生成しているのでここで設定されているものは無視されます。
6. モデルを書き出し完成
※ Reality Capture単体で穴埋めする方法
外部ソフトを使わずReality Capture単体での穴埋めも可能です。
ただし穴の形状が平らな場合に限ります。
複雑な形に穴が空いている場合は想定したとおりに塞がるとは限りません。
選択ツールを選択します。
Reconstruction > Selection > Losso
Shiftを押しながらだと選択範囲の追加、
Ctrlを押しながらだと選択範囲の削除になります。
ここで Tools > Filter Selectiion を実行するとメッシュが削除されます。
とは言えあまりキレイなメッシュにはならないので、正確な修正を行いたい場合はDCCツールを使った方が良さそうです。
3DF Zephyr編
1. モデルを書き出す
Reality Capture同様穴が空いてしまってます。
(ソフトが違っても穴が空く位置はおおよそ同じ)
書き出し時は [ローカル表示基準システム] のチェックはオフにしておきます。
この様に修正したモデルを読み込んだ際に座標がズレてしまいます。
(白が読み込んだモデル)
2. DCCツールで修正
この時ポリゴンは三角ポリゴン化しておきます。
3DF Zephyrは多角ポリゴンがあると正しくテクスチャ生成できません。
3. UVを調整する
4. 修正モデルを読み込みテクスチャ生成する
書き出した時と同じプロジェクトへ修正したモデルを読み込みます。
テクスチャ生成ダイアログが出るので、テクスチャサイズ等を設定して実行します。
6. モデルを書き出し完成
最適化
当記事は「修正方法」として説明させていただきましたが、このワークフローは修正に限らずフルスクラッチモデルに対しテクスチャを生成する場合にも使えます。
フォトグラメトリで生成されるメッシュはハイポリゴンになりがちなので、使用するコンテンツによってはこのメッシュは使わないという割り切りも良いのではないでしょうか。
生成されたメッシュをガイドにモデルを作成し、そのモデルに対してテクスチャを生成する事でフォトリアルかつ軽量なモデルを作ることができます。
※今回説明で使用したモデルは旧都城市民会館に遺されていた長谷川逸子氏デザインのイスです。
モデル修正を終えたモデルはこちらでARにて確認できます。
Written by 藤原龍 (龍 lilea)