そうだWrapしてみよう – 1

モデルのフィッティング作業を効率化を考えR3DS Wrapを試用してみることにする。

スキャナモデルに対し素体をフィッテイングさせるツールとして知られるR3DS(Russian3DScanner )社のWrap。現在のバージョンは3.3.17、早速30日のトライアルをすべくダウンロード

インストールを終えたら今回はスキャンモデルではなく昔し作成した女性モデル頭部を使用し、Wrapに用意されている男性ベースメッシュ素材を素体に見立てフィッティングをおこなってみることにします。

早速Galleryのタブから素体として扱う男性頭部のBasemeshを※1クリック選択し読み込む。

※ダブルクリックすると2つ同じ場所にダブって読み込まれます。

2018-09-19a1

Tabキーを押してメニューを呼び出し、Geometry > LoadGeomでフィッティングさせたい女性モデル頭部を読み込み(下図左)、次にテクスチャを読み込むためにImage > LoadImageで画像ファイルを指定しLoadGeomに接続、テクスチャをモデルに設定します。ただし現状JPG、PNGにしか対応していないようです、今回はTIFをPNGに変換して対応しました。

モデルの読み込みが完了したら、Basemeshの位置とサイズを女性モデル頭部にザックリ合わせます(下図右)。

 

Alignment > Wrappingでフィッティング処理をおこなうノードを用意し、各モデルを接続。次にBasemeshには口内の袋上のソケットがあり、フィッティングには邪魔なので除外設定する必要があります。まずSelectPolygonsのノードを用意し口内のソケット部分をポリゴン選択します。ただ、このモデルには予めポリグループで口内が設定されていたので今回はそちらで選択をしました。このノードをWrappingに接続することで簡単に処理から除外することが可能になります。

このまま何も設定しなくても、それなりにフィットします。でも、「それなり」にです。

なのでSelection > SelectPointsノードを用意し各モデルを接続、目や口が正確にフィットするようポイントを設定していきます(下図右)。このノードをWrappingの※所定の場所に接続したら、いよいよフィッティング処理をおこなっていきます。

※ノードの接続スロットはアウトプット、インプットのカラーで接続対象が判断できるようになっています。

WrappingのSmoothness finalの値を調整しつつフィッティング処理を施します。今回のモデルはMayaの1ユニットを10cmで設定しているので0.1程度がそれなりで丁度いい感じでした。値が大きいほど大雑把になり、値が小さいほど詳細にフィットする。ただし値が小さくしても無駄に形状を取得しようとし、ムラのようになってしまう場合があるので適度に緩い値を設定するのがいいのではと考えます。

最後に、フィットさせたBasemeshに女性モデル頭部のテクスチャを転送します。WrappingのアウトプットをImage > TransferTextureのインプットに接続、書き出し解像度を設定。そのTransferTextureをImage > SaveImageに接続し書き出しパスをセットしCompute current frameで出力します。対応している出力フォーマットはJPG、PNG、TIF、BMPの4種類。

出力された画像には所々(10カ所前後)に穴があり(下図左)、その箇所を塗りつぶす必要がありました。

意外に使いやすくフィッティングが正確(上図右)。処理速度も速いとまではいえないけど我慢のできるレベルだし、形状がない部分も頂点が飛んだりすることもなく破綻が少ない。

こういった機能はMaya等の基本機能として欲しいところ・・・、別ソフトとして年収益1100万以下なら4万円(370ドル)は高いか、安いか微妙な感じ。あると便利だけど、面倒でも手作業でできる。

それでも3Dスキャンスタジオ等でデータを量産するような作業が多い現場では安くて重宝されると考えます。年収益1100万以上のプロバージョンは7万4千円(670ドル)~10万7千円(970ドル)。

ちなみにR3DS Wrapでは巻き込み形状のようなものは緩やかに無視されます、特に問題となるのは二重瞼でしょう。テストしましたが瞼の皮膚が巻き込まれている部分は無いものとして扱われ、段の付いた一重瞼になりました。緩い二重ならSmoothness finalの値を下げればそれなりにいけるとは思いますが、深い二重は後にMaya等での調整作業が必要になりそうです。

次は体をどの程度処理できるのかテストしてみたいと思います。