Substance Samplerでフォトグラメトリを試す!【前編】新機能「3D Capture」の使い方を紹介
皆さん、こんにちは!KATASHIRO+のますくです。
2023年1月、「Adobe Substance 3D Collection」のひとつ、「Substance 3D Sampler」(以下、Sampler)の3Dキャプチャ機能が強化されました。今まで長い時間がかかったフォトグラメトリのポストプロセスが大幅に自動化され、フォトグラメトリ初心者でも、優しく扱えるようになったのではないでしょうか。 (※リリースはこちら)
「え、Samplerって何?」という読者も多いと思いますのでまずは簡単に解説します!
Samplerは、写真撮影や画像素材から、簡単に現実世界の物質(例えば金属や革製品、樹木)から、反射や凹凸などの情報を含んだリッチな3Dマテリアルを入手できるツールです。CG業界ではデファクトになった同コレクションのSubstance PainterやSubstance Designerとの連携も非常にスムーズなので、プロも初心者も使わない手はないでしょう。
今回はSampler の注目の新機能「3D Capture」を用いた、フォトグラメトリ作品制作を通じて、具体的な使用方法を解説していきます。順を追って解説しますので一緒にトライしてみましょう。
完成作品
今回はペットのフトアゴヒゲトカゲを90枚ほど撮影して、フォトグラメトリ制作に臨みました。
Substance 3D Samplerとは?
まずは簡単に、Samplerとは何かのおさらいと、バージョン4.0から追加された新機能「3D Capture」の紹介を。
SamplerはAI技術によって、写真素材からリアルな3Dマテリアルを抽出・編集したり、既存のマテリアルフィルターとジェネレーターを組み合わせて、新たなマテリアル素材を制作したり、360°の撮影素材から、新たなHDRIによるライティング環境を作成することのできるソフトウェアです。AIを使って一枚の写真からいい感じの質感や凹凸情報付きのPBRテクスチャに変換してくれる素晴らしく便利な機能も搭載されています。
新機能「3D Capture」の特徴は?
3D CaptureはSampler バージョン4に追加された新機能です。通常のフォトグラメトリツールよりも簡単な操作で本格的な3Dモデルを作成できるのが特徴です。
特徴1)質感設定やテクスチャ編集までできる
Substance 3D Collectionは質感設定をするのが本筋なので、フォトグラメトリー後にそのまま質感設定まで一貫して持っていけるところが、フォトグラメトリの定番ソフトRealityCaptureやMetashapeとは異なるところです。これらは細かく設定を行った上で、他のソフト併用しながら質感設定を行う必要があります。その点、Samplerなら、フォトグラメトリから質感設定までほぼ自動で持っていくことができるので非常に便利です。
特徴2)自動マスク機能
AIを利用した被写体の自動マスク機能があるため、物撮りに適しています。通常のフォトグラメトリソフトではターンテーブルを用いたフォトグラメトリーが一手間も二手間もかかりますが、これが簡単に行えるのが特徴です。
実践してみよう!
1.撮影
Sony α7rM2でSEL24240(F3.5-6.3/24-250)の50mmを、絞り優先で撮影しました。iPhoneでも試したのですが、F値最大でも深度ボケがキツくてあまり使えませんでした。
フォトグラメトリの一般的な撮影時のカメラ設定のコツですが、
①PLフィルターを用いて光の反射を制限する。
(偏光レンズや光源側にも偏光フィルターを使う)
②直接光は避け、アンビエントなライトを用いる。
(曇りの日の野外やソフトボックスの使用が理想的)
③なるべく三脚を使い、手ブレを防ぐ。
④なるべく絞り被写界深度ボケをなくす。
(可能であればフォーカスシフト撮影を行い深度合成する)
などが挙げられます。奥行きがある小物の場合ボケない方が良いので、F値を絞って深い被写界深度で撮影するなどの工夫が必要です。今回は割愛しますが、興味がある方が多ければフォトグラメトリの撮影時のノウハウもまとめていきたいと思っておりますので、Twitterなどでご要望お待ちしております。
2.3DCaptureの起動、写真の取り込み
Samplerを起動し新規プロジェクトを開きます。 左上の+ボタンからプルダウンメニューを開き、「3D Capture」を選択します。
ポップアップウィンドウが出現するので、写真をドラッグアンドドロップで読み込みます。
3.AIによる自動マスク
読み込みが終わったら任意で自動マスクを行っていきます。データセットと整列の処理ステップで、フォトグループのフォルダを選択し、マスク>生成>新規パッチを実行します。フォトグループが複数に分かれている場合は、何度か行います。
ざっくりとしたマスクが生成されていることがわかります。Samplerの中ではマスクの細かい指定や修正ができないため、あくまで簡易的なものになります。外部からマスクを読み込むこともできるため、Photoshopの被写体を選択やクイック選択ツール、After Effectsでクロマキーやロトブラシなどで手動でマスクを作成することができます。
<アドバイス> マスクを必要とする場合ってどんな時?
フォトグラメトリは画像同士の共通特徴点を利用するため、実は背景も写っていて被写体と背景のどちらもボケていない場合はカメラ位置推定を的確に行うことができる場合が多いです。
今回は機能を試してみたさが半分、処理を軽くしたい目的が半分で自動マスクを用いましたが、多くの場合背景付きのほうがアラインメントがうまくいきます。
では、マスクを必要とするのはどんな場合でしょうか。今回のように範囲を絞って処理を軽くしたい場合もそうですが、一番必要になるのはターンテーブルを用いる物撮りのときです。ターンテーブルでスキャンしたい物体は回っているのに、背景が一切動いていなければ、共通特徴点がつくり上げる三次元上の空間に矛盾が生じ、エラーが起こります。
そのため、ターンテーブルで撮影した場合はマスクを生成するか、黒や白、緑などの単色で塗りつぶし共通特徴点の範囲外とする必要があります。外部ツールを用いる場合は、マスクとして黒や白、緑などの単色塗りつぶしで共通特徴点を捉えられないようにします。今回はマスクは不要と考えたので、マスクは解除しました。
4.メッシュの再構築
データセットと整列の工程が終わり、送信ボタン(Submit)を押して実行します。
しばらく待っていると、カメラの位置推定(アラインメント)処理が終わり、共通特徴点のいくつかがポイントクラウドとして結像します。
目標範囲の項目から、実際にメッシュを生成する範囲を選択します。バウンディングボックスにギズモが表示されるので、範囲を決定します。
次に、メッシュの解像度を確定します。
Raw(生データ)を選ぶとかなりの頂点が生成され、外部ツールで開くのが困難なほどのハイポリゴンになる割に、形状精度自体はフル設定とあまり変わらないので、特別な意図がなければフルや高を選択しメッシュを生成します。
送信ボタンを押してメッシュ生成に進みます。
5.後処理
後処理の工程は、ここで詰めなくても後ほどMesh Post Processフィルターで再変更可能なため、ここではざっくりとした設定のみ詰めていきます。
ワイヤーフレームやUV、メッシュなども確認できます。テクスチャ解像度を4Kに上げておき、Target face countの値をコントロールします。形状が保たれつつ、必要十分な軽量のメッシュ密度を探っていきます。
目標ポリゴン数を下げると、このようなローポリにもなります。
Advanced decimationの設定項目を見ていきます。
QuadricをProbabilistic PlaneかProbabilistic Triangleを選択します。 二次曲面を確率的平面にするか確率的三角形にするかという判断になります。
Surface Regularityでは、曲面規則性の設定です。平らなところと局面があるところでどのくらいの密度差をつけるかというパラメーターになります。
右下の「新しいバージョンを処理」でメッシュが更新されます。
右上からプロジェクトに追加します。
6.Substance 3D Samplerへ
「3D Capture」のダイアログを抜けて、Sampler本体へと戻ってきました。Samplerでは細かい修正や質感設定ができますが、今回のトカゲのデータでは質感設定はほぼ必要なさそうだったので、次の章で詳しく解説します。
7.書き出し
右側縦タブの共有ボタンから書き出すことができます。
メッシュの書き出し設定とマテリアルの書き出し設定を行い書き出します。まだベータ版のためか、書き出しがうまくいかず、再インストールしたところ上手く書き出すことができました。
8.ZBrushで修正
ZBrushでごみ取りや穴埋め修正を行います。
9.Blenderでテクスチャ修正とパーツ追加
Blenderで布や台座を作成します板ポリゴンを細分化し、シリンダーの上にクロスシミュレーションで垂らしテーブルクロスを作成しました。
10.Substance 3D Assets
Substance 3D Assetsで布用の素材を探します。
11.Sketchfabにアップロード
最後に、SketchfabにアップロードしてLookDevelopmentします。テクスチャ、マテリアル、ライティング、ポスプロの設定をしたら公開設定をして完了です。
後編では質感設定とポスト処理設定を徹底解説!
いかがでしたでしょうか?
【後編】Substance Samplerでフォトグラメトリを試す!質感とポスト処理の設定を解説ではよりシンプルなモデルを使って、Samplerでの質感設定とポスト処理設定を見ていきます。ぜひ引き続きお楽しみください。
TEXT_KATASHIRO+ますく
EDIT_中川裕介(CGWORLD)/Yusuke Nakagawa