fc2ブログ

プッシュ・モディファイアにウェイトマップを適用する

Category : DAZ Studio 4
DAZ Studio 4.5で搭載された機能にプッシュ・モディファイア(Push Modifier)があります。オブジェクトを膨らませる(頂点を法線方向へ移動する)機能で、ジオメトリシェルと組み合わせて使われたりしました。
この機能、オフセットプロパティ(Offset Distance)を調節することで膨らませる度合いを調整できるのですが、適用したオブジェクト全体に均一にかかってしまうという点で用途の限られるものでした。

ところが先日のバージョンアップ(4.6.3.50)で、このプッシュ・モディファイアの効果をウェイトマップで調節できるようになったのです。つまり、全体を均一に膨らませるのではなく、ウェイトマップを使って膨らませる場所を限定できるようになったということです。

そこで今回は、このウェイトマップド・プッシュ・モディファイアの使用例として、フィギュアに衣服を着せたときの肌の突き破り(Poke through:ポークスルー)を修正する方法をご紹介したいと思います。

Pushモディファイア SS


■ポークスルーを補修する方法

ポークスルーを補修する方法としては、従来からさまざまな方法が試され、あるいはDAZ Studioの機能として搭載されてきました。大げさに言うと、フィギュアの進化の歴史はポークスルーとの戦いの歴史でもあったのです!!
それを整理する意味でも、ここでさまざまなポークスルー補修法をご紹介していきます。
※DAZ Studioの機能だけで実行できる方法に限ります。

 (A)衣服に用意された調整モーフを使う
衣服によってはAdjustmentグループやFixグループなどとして、衣服を肌から浮かせたり、座りポーズに合わせた変形をさせるモーフが用意されていることがあります。
またこれと似た方法で、フィギュアのシェイプ変化に対応するモーフを衣服だけ過剰に調節するというものもありますが、基本的に自動でモーフ・パラメータが連動するようになっているDAZ Studioでは使われません。

 (B)デフォーマを使う
オブジェクトのメッシュの限られた範囲を変形させることができるデフォーマ(D-Form)を衣服に適用し、ポークスルーしてしまっている部分のメッシュを少し浮かせてやる方法です。従来は球形範囲のみでしたが、DAZ Studio 4.6ではウェイトマップによる範囲指定が可能になっています。
デフォーマについてはこちらの記事をご参照下さい。

 (C)スムージング・モディファイア(Smoothing Modifier)を使う
DAZ Studio 4で搭載され、最近ではストアの衣服でも最初からかかっていることが多いモディファイアで、フィギュアと衣服の衝突判定のようなものを行うことで、衣服がフィギュアのメッシュにもぐらないようにする方法です。
衣服全体にかかり、どこにポークスルーが発生したか気にすることなく自動で防止してくれるのが便利です。
スムージング・モディファイアについてはこちらの記事をご参照下さい。

 (D)プッシュ・モディファイア(Push Modifier)を使う
DAZ Studio 4.5で搭載されたモディファイアで、オブジェクトの頂点を法線方向へ移動させる効果があります。従来は全体に均一にかけるものでしたが、先日のバージョンアップによりウェイトマップによる効果範囲の指定ができるようになりました。


■ポークスルー補修法の比較

スムージング・モディファイアは便利なものですが、万能ではありませんでした。衣服のメッシュ密度よりも小さな突起には反応しなかったり、衣服の上下から挟み込まれると逆にポークスルーが発生してしまったり、両方含めて補修しようとしたりします。
自動で作用する分、細かい調節が効かないのです。

バージョンアップ項目にプッシュ・モディファイアにウェイトマップでの範囲指定ができるようになったというのを見つけて私が思いついたのは、ポークスルーの補修に使えないだろうかということでした。
プッシュ・モディファイアは全体を均一に膨らませるモディファイアですが、これにウェイトマップを使ってポークスルーしてしまっている部分だけにかければ良いのではということです。

今回は『Mila Dress for Genesis 2 Female(s)』を例にしました。
Pushモディファイア プレビュー 補修工程1

この衣服には最初からスムージング・モディファイアがかかっており、ポークスルーがなるべく起きないようにしてあります。
次の画像からはわかりやすいようにビューポートのDrawstyleをSmooth Shadedにし、肌を赤く色付けしてあります。

 ・ポークスルーに対処していない状態
Pushモディファイア 補修例 補修なし
薄い感じの生地の衣服ですので、ポーズによってはポークスルーが起きてしまいます。
この状態に各ポークスルー補修法を使うと、どの程度補修できるのかを見てみましょう。

 ・補修モーフを使った状態
Pushモディファイア 補修例 補修モーフ
FBMThinkenというモーフが用意されており、ShapingタブまたはParametersタブでそのプロパティを調節することで、全体的に衣服が身体から浮くようになっています。
ポークスルーは補修できますが、他の部分でも肌と衣服の間の隙間が広がり、肩ひもまで浮いてしまうのが目立ちます。

 ・スムージング・モディファイアをかけた状態
Pushモディファイア 補修例 Smoothingモディファイア
ポークスルーが起きている箇所を自動的に補修してくれます。
※この衣服はこの状態がデフォルトです。
ただ、腰に手を当てたポーズだったりすると、上の画像のように指に押されてポークスルーが起きてしまったり、下の画像のように指も含めて衣服に覆われてしまったりします。
Pushモディファイア 補修例 Smoothing過剰

 ・従来のプッシュ・モディファイアをかけた状態
Pushモディファイア 補修例 Pushモディファイア
全体的に膨らむため、衣服のふちや立体的な(メッシュによる)装飾部分、肩ひもなどのボリュームが増してしまっています。この、「プッシュ・モディファイアをかけた状態」と「補修モーフを使った状態」の違いは、その特徴を知る上で重要です。

 ・ウェイトマップド・プッシュ・モディファイアをかけた状態
Pushモディファイア 補修例 ウェイトマップPushモディファイア
プッシュ・モディファイアをポークスルーが起きている部分に限定してかけることで、丁寧な補修をすることができます。
ただし、プッシュ・モディファイアの特性から衣服のふちや立体的な装飾部分の補修はできません。


■ウェイトマップド・プッシュ・モディファイアを使ったポークスルー補修法

では実際に、ウェイトマップを使ったプッシュ・モディファイアを衣服に適用する手順をご紹介します。
途中の画像にはポイントを分かりやすくするためにビューポートのDrawStyleをSmooth Shadedにしたものがあります。

Pushモディファイア プレビュー 補修工程2
最初は上の画像のような状態です。腰の左側とお尻付近にポークスルーが起きています。
※すでにスムージング・モディファイアをオフにしてあります。

 (1)衣服をSceneタブなどで選択した状態で、メインメニューから Create > New Push Modifier Weight Node を実行します。
Pushモディファイア メニュー プッシュノード作成

※すでに衣服にスムージング・モディファイアが適用されていた場合は、Parametersタブでそれ(Enable Smoothing)をオフにしておきます。

 (2)オプションウィンドウが出現しますので、そのままAcceptボタンをクリックします。
Pushモディファイア ダイアログ プッシュノード作成

「Push Modifier Weight Node」が衣服にペアレントされた状態で作成されますので、Sceneタブでそれが選択されていることを確認しておきます。
Pushモディファイア Sceneタブ プッシュノード

 (3)メインメニューから Tools > Node Weight Map Brush を実行してウェイトマップブラシツールを装備します。
Pushモディファイア メニュー ウェイトマップブラシツール

 (4)その状態でTool Settingsタブを開くとウェイトマップ関係のプロパティや、ブラシのオプションが表示されます。そこで、下段のWeight Mapsタブの「Add Map」ボタンをクリックします。
Pushモディファイア ツール設定タブ ウェイトマップ追加

オプションウィンドウが出現しますが、そのままOKボタンをクリックします。
Pushモディファイア ダイアログ ウェイトマップ追加

これでプッシュ・モディファイアにウェイトマップが割り当てられ、ビューポート上の衣服がその効果で膨らみます(ウェイトマップが全て100%で塗りつぶされるため)。
Pushモディファイア ツール設定タブ ウェイトマップ追加後
Pushモディファイア プレビュー 補修工程3

 (5)ビューポート上で右クリックをして出現するメニューから Geometry Selection > Select All を実行します。
Pushモディファイア メニュー 全ポリゴン選択

これで衣服のポリゴン全部が選択されます。
Pushモディファイア プレビュー 補修工程4

 (6)ビューポート上で右クリックをして出現するメニューから Weight Editing > Fill Selected を実行します。
Pushモディファイア メニュー ウェイト塗りつぶし

塗りつぶすウェイトを設定するウィンドウが出現しますので、0.0%にしてAcceptボタンをクリックします。
Pushモディファイア ダイアログ ウェイト塗りつぶし

これで選択したポリゴンがウェイト0%で塗りつぶされ、膨らんでいた衣服が元に戻ります。
Pushモディファイア プレビュー 補修工程5

 (7)ビューポートの衣服の上でマウスドラッグすることでウェイトマップを描くことができますので、ポークスルーが起こっている場所を塗ります。
※ウェイトマップ・ブラシツールのブラシオプションなどについてはこちらの記事をご参照下さい。
Pushモディファイア プレビュー 補修工程6

弱めのブラシで滑らかになるように塗り重ねていくのは難しいので、強めのブラシでざっくりと塗り、それをスムースブラシやスムージング(Weight Editing > Smooth Selected)で滑らかにならすのがオススメです。
※初期設定ではウェイトが高くなるにつれて [黄→青→赤]と色が付き、ウェイトが高いほどプッシュ・モディファイアの効果が強くかかることになります。
Pushモディファイア プレビュー 補修工程7

 (8)元のカメラから見て変に膨らんでいたり、ポークスルーが残っていたりしないことを確認します。
そのままでは少し膨らみすぎていたので、衣服を選択してParametersタブのGeneral > Mesh Offset > PushModifier (ウェイトマップ名)の数値を0.6に下げました。このプロパティはウェイトマップ全体の強度に掛け合わせられるようです。
Pushモディファイア プレビュー 補修工程8


■今日の一枚

ウェイトマップド・プッシュ・モディファイアで補修することで、無事衣服のポークスルーも消すことができましたので、レンダリングして仕上げました。

薄めのドレス
Character:Lily , Pretty Hands Poses and Nail Colors for Genesis 2 Female(s)
Hair:Jewell Hair
Costume:Mila Dress for Genesis 2 Female(s)
Environment & Light:Boudoir Photo Studio and Lights , Boudoir Photo Studio Add-On




今回の画像の素材はこちら

Lily

Mila Dress for Genesis 2 Female(s)

Jewell Hair

Pretty Hands Poses and Nail Colors for Genesis 2 Female(s)

Boudoir Photo Studio and Lights

Boudoir Photo Studio Add-On


テーマ : 3DCG
ジャンル : コンピュータ

Comment

これは便利ですね!

解説ありがとうございます。
とても参考になりました。

プッシュモディファイアを生成すると一様な強度で生成されるウェイトマップをシーンで編集できるというのは合理的でとてもよいしくみですね。
シーン用のディスプレースメントがもう一つ使えるようなものだと思いますし、夢が広がります。

わたしも早速使って遊んでみます!

Re: これは便利ですね!

甘利純さんコメントありがとうございます。
プッシュ・モディファイアはこの記事のように衣服の補修に使うことにとどまらず、もっと汎用性の高いものですね。
ウェイトマップをソース画像の濃淡から生成とかできるようになれば、いろんな形状のオブジェクトをソース画像1枚で作ることができたりして面白いかもしれません。

ディスプレースメントが画像のピクセルを基準にメッシュに凹凸を生成するのに対して、こちらは頂点単位の凹凸ですからその解像度は元のメッシュに依存するものになります。
非公開コメント

著書
カレンダー
02 | 2023/03 | 04
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray ダイナミッククロス LuxRender スクリプト Genesis2 バージョンアップ セットアップ ShaderMixer レタッチ Download カスタマイズ トゥーン SSS Photoshop NGM 物理シミュレーション ファー ウェイトマップ D-Form ERC Miki2 IDL M4 大気 Terrain カラーコレクション モーフセット ボリューム パーティクル Genesis8 Hexagon Genesis3 V5 アナグリフ カメラ インスタンス K4 Python 日本語訳 ロボット RAMDisk ダイナミックヘア Linux V8 3Dプリント GIMP SLG モーションキャプチャ 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター