モーフを使ってキャラクターを作っていると、ときどき意図しないシワや凹みができてしまうことがあります。 そういった部分を修正するモーフを作りたいなと思ったんですが、Blender などのモデリングツールを使うのも面倒です。 なにかいい方法はないかなと思って考えたんですけど、やっぱり D-Form を使うのが簡単でいいんじゃないかと思いました。
そこで検索してみると、Pixiv でカオスさんが「D-Formerでキャラモーフを作る」というズバリの記事を公開してくれていたのでやってみました (R-18 なのでリンクは自主規制させていただきました)。
またこの方法で目周りを修正すると、まつ毛や眉毛のアタッチメントが追従せず、まぶたとまつ毛の間に隙間ができてしまうことがありますが、それを修正する方法も後ほど紹介します。
まずは下記のキャラの、頬から顎にかけての凹みを修正したいと思います。

おおまかな作業の流れ
- キャラに D-Former を割り当てる
- D-Former のフィールドにウェイトマップを追加する
- フィールドのウェイトをいったん「0」にする
- ウェイトを塗って変形させる
- D-Form をモーフにする
- モーフを保存する
工程が多そうに見えますが、慣れれば数分でできてしまうくらい簡単です。
キャラに D-Former を割り当てる
まずはキャラに D-Former を割り当てます。

Scene ペインでフィギアを選択しておいて、「Create → New D-Former」を選択します。 すると下記のようなウインドウが表示されるので、名前をつけて OK を押します。

今回はそのまま「D-Former_1」という名前で進めていきます。 D-Former を作ると、シーンには D-Former の Base と Field が追加されるので、 そのふたつを変形させたい部分に移動します。

今回は顔を修正したいので、Base と Field の中心が顔の位置にくるまで Y Translate で持ち上げました。
D-Former の Field にウェイトマップを追加する
デフォルトの D-Former の Field の Influence Mode は球体 ( Sphere ) になっています。 これを Weight Map に変更し、フィギアのウェイトマップを割り当てていきます。

Tool Setting ペインを開き ( Window → Panes ( Tabs ) → Tool Setting )、「Node Weight Map Brush」をアクティブにします。 そして Weight Maps の項目にある「Add Maps」をクリックします。 このままだとウェイトがすでに塗られてる状態なので、一度ウェイトをクリアします。
Vieport 上で右クリックし、表示されるメニューの「Geometry Selection → Select All」ですべての頂点を選択します。

選択したら、同じように右クリックから「Weight Editing → Fill Selected」を選択します。

すると下記のようなウインドウが表示されるので、ウェイトを 0.0% で塗りつぶします。

最後に、すべての頂点が選択されている状態なので、これを解除します。

右クリックから「Geometry Selection → Clear Selection」で選択解除します。
これで準備が整いましたので、次は Node Weight Map Brush を使ってウェイトを塗っていきます。
Node Weight Map Brush でウェイトを塗っていく
これからフィギアにウェイトを塗っていくのですが、メッシュの解像度が低い方がやりやすいと思うので、Parameters ペインから解像度を High Resolusiton から Base にしておきます。

あわせて Smoothing Modifier が On になっている場合は Off にしておきます。

また View Port の表示は Wire Texture Shaded などにして、メッシュの網目が表示されるものを選択しておきます。 それではウェイトを塗っていきます。
まず Scene ペインで D-Former_1_Base 内にある D-Former_1 を選択します。 次に変形させたいパラメータを調整します。 今回は凹みをなくしたい … つまり凹んでる部分を膨張させたいので、Parameters ペインで D-Former_1 の Scale を 110% などに設定します。 この値は後で調整できるのおおまかで構いません。

Tool Setting ペイン内の Node Weight Map Brush の General では、Use Symmetry にチェックを入れ、ミラー変形 ( 左右対称 ) になるようにしておきます。 また、必要に応じてブラシの感度 ( Sensitivity ) やサイズを変更します。
Paint Brush を選択して、フィギアの修正したい箇所をドラッグしてウェイトを塗っていきます。 塗りすぎた場合は Alt キー + ドラッグでウェイトを減らすことができます。
Smooth Brush も併用して滑らかになるように仕上げます。

塗り終わったらメッシュの解像度を High Resolution に戻し、Smoothing Modifier を On に戻して仕上がりを確認します。

これで修正自体は完了ですが、次に D-Former での変形をモーフに変更します。
D-Form をモーフに変更する
D-Former での変形をモーフにしていきます。 DFrom ペイン ( Window → DFrom ) を開き、「Delete Applied D-Former(s)」と「Apply Spawned Morph」にチェックを入れておきます。

「Delete Applied D-Former(s)」にチェックを入れると、モーフに変換したときにシーン内の D-Former を自動的に削除してくれます。 「Apply Spawned Morph」はモーフ変換時に、モーフを有効にしてくれます。 チェックを入れたら「Spawn Morph」を押して D-Form をモーフに変換します。
下記のようなウインドウが表示されるので、モーフに名前をつけます。 今回は頬を調整したので「Cheeks Adjust」という名前にしてみました。

OK ボタンを押すと下記のように D-Former を削除するか聞いてくるので、「Yes to All」をクリックします。

今回は「D-Former_1」ひとつしか使っていませんが、複数の D-Former を使った場合はその分だけ上記のようなウインドウが表示されるので、「Yes to All」をクリックして D-Former を削除します。 すると Scene ペインからは D-Former は削除され、Parameters ペイン内に Morphs という項目が追加されてモーフが有効になります。

次に追加されたモーフの右側にある歯車ボタンをクリックして、モーフのリミッターやパスの設定をしておきます。

「Use Limit」にチェックを入れて、Min を「0」にしておきます。 モーフのパスはデフォルトでは Morphs になっているので、変更したい場合は Path の部分を修正します ( Actor/Head/Face/Cheeks and Jaw など ) 。 今回はそのまま Morphs で進めていきます。
最後にこのモーフを保存して、他のシーンでも使えるようにしておきます。 「File → Save As → Support Assets → Morph Asset(s)」を選択します。

セーブオプションウインドウが開くので、今回作成したモーフにチェックを入れて「Accept」を押せば OK です。

これで D-Form からのモーフ作成は終了です。
まつ毛などのアタッチメントがずれる場合
D-Former で目周りをいじった場合、モーフ化してもまつ毛や眉毛などのアタッチメントが追従しないため、隙間ができてしまう場合があります。 下記は目元を変形させた例で、まつげが追従せず隙間ができてしまっています。

この隙間を修正していきたいと思います。 D-Former で作ったモーフではアタッチメントが追従しませんが、Morph Loader Pro で作成したモーフには追従するので、面倒ですが Morph Loader Pro で作り直します。
まずはフィギアをオブジェクトとしてエクスポートします。 シーンにフィギア以外のオブジェクトがある場合は削除しておき、まつ毛も非表示にしておきます。 Parameters ペインからメッシュの解像度を Base にし、Smoothing Modifier を Off にします。 そしてフィギアのシェイプを一回リセットして、D-Former で作ったモーフだけを 100% に設定します。
この状態で Scene ペインでフィギアを選択しておき、「File → Export」でフィギアをエクスポートします。

エクスポートオプションでは「DAZ Studio (1 unit = 1cm)」を選択して Accept を押します。

これでエクスポートは完了です。 続いてエクスポートしたフィギアを、Morph Loader Pro で読み込みます。 Scene ペインでフィギアが選択されている状態で、「Edit → Figure → Morph Loader Pro」を選択します。

下記のようなウインドウが表示されるので、「Choose Morph Files」からエクスポートしたフィギアを選択します。

Accept を押して読み込みが成功すると、下記のようなウインドウが表示されます。 これでモーフの作成は完了です。

ここで失敗する場合は、エクスポートする際にフィギアの解像度が Base になっていない、フィギア以外のオブジェクトも一緒にエクスポートしている … などが考えられます。
D-Former で作ったモーフをオフにして、Morph Loader Pro で作ったモーフを有効にすると、下記のようにまつ毛も追従してくれるようになり、隙間も解消されました。

参考にさせていただいたページ
- とうふさんの Pixiv | D-Formerでキャラモーフを作る (R-18 なのでリンクは自主規制させていただきました)