DAZ3D には Smoothing Modifier という機能があって、これはポリゴンの凹凸を滑らかにしてくれると同時に、ポリゴンの衝突判定をしてくれるというもの。 最近の服ははじめからこの Smoothing Modifier が設定されているものが多く、破れて肌が出てしまう … ということも少なくなくなったようです。

Smooting Modifier は服だけじゃなく、フィギアやオブジェクトにも使うことができ、[Edit] → [Figure](または Object)→ [Geometry] → [Add Smoothing Modifier] から簡単に追加することができます。

Smoothing Modifier の追加

Smooting Modifier を追加したら、Paramerters ペインの [General] → [Mesh Smoothing] で On / Off の切り替えや、Smoothing Iterations ( スムージングの強さ ) を調整することができます。

Smoothing を調整

下の画像では On / Off の状態を確認できます。 Mesh Smoothing を有効にするとポリゴンがスムーズになる一方、やりすぎると形が変わってしまうので注意も必要ですね。

Smoothing の On/Off

服の巻き込みを修正する

とても便利な Smoothing Modifier ですが、ちょっと困ったことも起こります。 Smoothing Modifier では衝突判定も行っているので、基本的に肌が突出しないように(いわゆる服の破れが起こらないように)フィギアを包み込むように働きます。 その弊害として、手や腕などを体や服スレスレに近づけると、下のように服が巻き付いたような状態になってしまいます。

腕に服が巻き付いてしまう

もともと袖のないドレスなのに、腕にドレスの一部が巻き付いてしまっています。 これを解決したいなと思い、フィギアの衝突判定を部分的に無効にする方法はないかなと調べたりしてたのですが、今のところできないみたいです …。 ただ同じような悩みを持つ人が DAZ のフォーラムに投稿していて、服の Collision に Geometry Shell を使って作った複製フィギアを当てることで、服の巻き込みをなくす方法が紹介されていたのでやってみました。

Selective collision with Mesh Smoothing – Daz 3D Forums

1. Geometry Shell を使ってフィギアの複製を作る

紹介されている方法のとおり、まずは Geometry Shell を使ってフィギアの複製を作ります。 Scene ペインでフィギアを選択しておき、[Create] → [New Geometry Shell] を選択します。

Geometry Shell を作成

下記のようなウインドウが開くので、Copy Selected Item にチェックを入れて Accept を押します。

Copy Selected Item

するとフィギアを複製した Geometry Shell がシーンに追加されます。

シーンに Geometry Shell が追加されました

今回は手、腕への服の巻き込みをなくしたいので、Geometry Shell の 腕全体を非表示にして、腕のないフィギアを作ります。 Scene ペインで追加した Geometry Shell を選択し、Parameters ペインから Shell → Visibility を開きます。

Visibility で腕を非表示にする

ここでは Geometry Shell の部位の表示・非表示を切り替えることができます。 Off にすれば非表示になるので、Arms と Fingernails を探して Off にします。

もちろん lHand ( 左手 )、rHand ( 右手 ) といったように、細かく選択することもできます。

この腕なしのフィギアに服をフィットさせようという訳ですね。 一旦この Geometry Shell 以外のオブジェクトをすべて非表示にして、[File] → [Export] から obj として Geometry Shell だけを書き出します。 Export Option では「Daz Studio」を選択します。

DAZ Studio フォーマットでエクスポート

2. Geometry Shell を Import して Collision に設定する

次に Export した Geometry Shell をそのままオブジェクトとして [File] → [Import] からインポートします。 Import Option では 「DAZ Studio」を選択します。

DAZ Studio フォーマットでインポート

下のようにインポートしたオブジェクトがシーンに配置されました。 ここではこのオブジェクトを Dummy という名前で呼ぶことにします。

Dummy オブジェクトが追加されました

Scene ペインではこのダミーと先程作った Geometry Shell を非表示にして、その他のオブジェクトを再び表示します。 そして Scene ペインで服を選択し、Parameters ペインの Mesh Smoothing → Collision の Collision Item に Dummy を指定します

腕への巻き込みが解消されました

腕のないダミーフィギアを衝突判定のベースにしているので、腕への巻き込みはなくなりました。 これで作業終了です。

もっと簡単な方法があればいいのですが、今のところはこの方法で対応しています。 他に方法があれば教えていただけると嬉しいです。 よろしくお願いします。

参考にさせていただいたページ

今回使用した服