自分のキャラ用にずっと髪を作っていたのですが、やっと満足のいくものができました。 とはいえゼロからモデリングしてるものはまだ未完成 ( なかなか満足できるクオリティになりませんね … ) で、今回は Minami Hair をベースに改造したものを使っています。
髪の制作は何回もやっているので、Blender から OBJ 形式で書き出した髪を DAZ でフィギアにキレイにフィットさせるまでの工程も、自分なりに固まってきましたので、作業工程をまとめておきたいと思います。 このやり方はいつも僕がやってるっていうだけで、正しいやり方とかそういうことではありませんのでご了承ください。
大まかな作業の流れ
- エクスポートする前のチェックポイント
- Face グループと Sarface グループを維持してインポート
- Transfer Utility で髪をフィギア化
- Morph Loader Pro で歪みをなくす
- ボーンを入れてウェイトを塗る
- JCM を修正
エクスポートする前のチェックポイント
Blender から髪を obj 形式でエクスポートするのですが、その前にいくつかやっておきたいことがあります。
- 余分な頂点などの削除・クリーンアップ
- 面の向き、法線の再計算
- 頂点グループの整理
- マテリアルの整理
クリーンアップと法線の再計算は 3D のモデリングなら当たり前のことだと思うのですが、ついつい忘れてしまうのであえて書き加えました。
次に Blender での頂点グループですが、これは DAZ では Face Group に該当します。 Blender で作った頂点グループは、DAZ 上で Face Group として扱うことができるので、後々 DAZ 上での作業(ボーン入れやウェイト塗りとか)がしやすいように、前髪・横髪・後ろ髪などの頂点グループを作っておくと便利です。
![Blender で頂点グループを作成](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_01.png?resize=800%2C487&ssl=1)
![DAZのGeometry EditorのFace Group](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_02.png?resize=800%2C434&ssl=1)
次に Blender でのマテリアルですが、これは DAZ では Surface として扱われるので、必要となる Surface の分だけマテリアルを作成しておきます。
![Blender でマテリアルを作成](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_03.png?resize=800%2C487&ssl=1)
![DAZのSurface](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_04.png?resize=800%2C435&ssl=1)
FaceグループとSarfaceグループを維持してDAZにインポート
Blender で作った頂点グループやマテリアルを維持したまま DAZ にインポートするために、Blender のエクスポート画面では下記の項目にチェックを入れます。
![Blenderのエクスポート画面](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_05.png?resize=800%2C487&ssl=1)
- マテリアルを書き出す
- 複数のグループ
このふたつにチェックを入れておくと、マテリアルと頂点グループを維持したままエクスポートできます。 つづいて DAZ 側のインポート画面です。
![DAZ Studioのインポートオプション](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_06.png?resize=500%2C319&ssl=1)
Read UV Coodinates、Read Group、Read Surface、Read Material Library にチェックが入っていることを確認します。
この状態でインポートすると、Blender の頂点グループが Face Groupe に、マテリアルが Surface に反映されます。
![DAZ Studioに髪をインポートした状態](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_07.png?resize=800%2C434&ssl=1)
下記の画像はインポートした髪オブジェクトの Surface に、テクスチャなどを使って髪らしく仕上げたものです。
![髪のSurfaceを設定した状態](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_08.png?resize=800%2C434&ssl=1)
この時点で髪の形状をしっかりチェックして、気になる部分があるなら手直しておきます。 DAZ では一度フィギア化してしまうと頂点数や頂点の順番の変更ができなくなるので、メッシュの修正はできるだけこの段階で完了させます。
Transfer Utilityで髪をフィギア化
次はインポートした髪オブジェクトを、Transfer Utility を使ってフィギア化します。 Edit → Figure → Transfer Utility から Transfer Utility を起動します。
![Transfer Utilityの設定](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_09.png?resize=800%2C554&ssl=1)
Source の Scene Item には髪をフィットさせたいフィギアを指定し、その下の Item Shape ではフィギアに使っているキャラクターモーフを指定します。 今回の髪は Genesis 8 Female のデフォルトではなくオリジナルキャラ ( 身長が低い ) をベースに作ってあるので、モーフを指定せずに転送すると Genesis 8 Female との身長差で髪がずれてしまいます。
Target の Scene Item にはインポートした髪を指定します。 Source から Target へとウェイトやボーンが転送されます。
Projection Template では Hair を選択すると余計な顔のボーンなどが転送されないので、あとで余分なボーンを削除するといった手間が省けます。
General Option にある Face Groups のチェックは外します。 このチェックを外さないと、せっかくインポートした髪の Face Group がフィギアの Face Group で上書きされてしまいます。
今回のように Item Shape にフィギアのモーフを指定した場合は、Reverse Source Shape From Target にチェックを入れるのを忘れないようにします。
最後に Accept を押して、フィギアのボーンとウェイトを髪に転送します。
![フィギアに髪がフィットしているのでポーズを変えても追従します](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_10.png?resize=800%2C434&ssl=1)
髪がフィギア化されたので、キャラにポーズをとらせるときちんと追従します。 次に Scene ペインのオプションメニューから Scene Identification を選択します。
![Edit Scene ID](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_11.png?resize=800%2C434&ssl=1)
下記のようなウインドウが開くので、Node Label を好きな名前に変更します。 ここでは「LongHair」にしました。
![Scene Identification](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_12.png?resize=500%2C280&ssl=1)
一番下の Preferred Base という項目が「/Genesis 8/Female」になっているのを確認します。 もしなっていなかったら「…」ボタンを押して Genesis 8 Female を選択します。
ここまでできたら、File → Save As → Suppoet Asset → Figure/Prop Assets で一度髪を保存します。
![Save Option](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_13.png?resize=500%2C626&ssl=1)
保存するときは Vender Name や Product Name を設定します。 これらは保存するときのディレクトリ名になるので、自分で管理しやすい名前にしておきます。
Morph Loader Proで歪みをなくす
Transfer Utility でボーンとウェイトが転送されると、ウェイトの関係で少なからず歪みが発生します。
![ウェイトで髪がゆがんでいる](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_14.png?resize=800%2C434&ssl=1)
なのでここで一度 Morph Loader Pro を使って歪みをなくし、Blender でエクスポートした obj と同じ形状にします。
Edit → Figure → Moprph Loade Pro から Morph Loader Pro を起動し、先程インポートした髪と同じ obj を Choose Morph Files から選択します。
![Morph Loader Pro](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_15.png?resize=800%2C403&ssl=1)
Name には モーフの名前を設定します。 今回は「Hair Shape Fix」という名前にしました。 Property Group は任意のもので構いませんが、今回は隠しパラメータにするつもりなので Hidden グループを選択しました。 そして Reverse Deformations を Yes にして、歪みとの差分のみをモーフにします。
最後に Accept を押して実行します。 環境にもよると思いますが、頂点数が多いとけっこう時間 ( 長いときは 5 分くらい ) がかかるかもしれません。
モーフの読み込みが終わると、下記の画像のように指定した Property Group にコントロールプロパティーが表示されるので、100% にしてモーフをあてると髪の歪みは解消されます。
![髪の歪みが修正された](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_16.png?resize=800%2C434&ssl=1)
続いてパラメーターにある歯車アイコンをクリックして Parameter Setting を開きます。
![Parameter Setting](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_17.png?resize=500%2C613&ssl=1)
今回作成したパラメーターは、100% のままロックしておきたいので Locked にチェックを入れます。 また普段は表示させる必要がないので、Hidden にもチェックを入れておきます。
最後に File → Save As → Support Asset → Morph asset(s) からモーフを保存します。
髪にボーンを入れる
ショートヘアの場合には必要ないかもしれませんが、今回はロングヘアなので髪に Joint Editor ツールを使ってボーンを入れていきます。
![髪にボーンを入れる](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_18.png?resize=800%2C434&ssl=1)
ボーンの入れ方については、過去記事「DAZ 3D Studio:髪にエクストラボーンを入れる & 髪の歪みの修正」を参照してください。
ボーンを入れ終えたら、右クリックから Memorize → Memorize Figure Rigging でボーンの位置を確定します。
次に Selection Group を設定します。 設定しなくても問題ないですが、Selection Group を設定しておくとポーズをつけるとき便利だったりします。
![髪のSelection Group](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_19.png?resize=800%2C434&ssl=1)
ボーンを動かしてポーズをつけたいときに、髪の該当部分にマウスポインタを置くと設定してあるセレクションマップがハイライト表示されます。 クリックすると設定したボーンが Scene ペインで選択されるので便利です。
![髪のSelection Groupの設定](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_20.png?resize=800%2C434&ssl=1)
Selection Group の設定は、ボーンと Face Groupeを紐付ける作業をします。 作業は上記の画像のように Tool Settings ペインの Joint Editor で行います。 「Selection Group」をクリックして Face Group を選択し、対応させたいボーンをひとつ選択します。
髪にウェイトを塗る
次にポリゴンメッシュにウェイトを塗っていきます。
![髪のウェイト](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_21.png?resize=800%2C434&ssl=1)
ウェイトの塗りかたも過去記事「DAZ 3D Studio:髪にエクストラボーンを入れる & 髪の歪みの修正」に書いたことがあるので参照してください。
新たにウェイトを塗るともともとあったウェイト (フィギアから転送されたウェイト ) がなくなるため、髪が動き形が変わることがあります。 その場合は歪みを修正したときのように、もう一度 Morph Loader Pro でモーフを読み込みます。
ただし今度は既存のモーフへの上書きなので、Overwrite Existing を Deltas Only にします。
![Morph Loader Pro](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_22.png?resize=800%2C411&ssl=1)
モーフを上書きしたら、忘れずにモーフアセットとして保存します。
JCMの歪みを修正する
最後に JCM を修正していきます。 JCM というのは、フィギアのポーズに連動して適応するモーフのことです。 例えば下記の画像は腕を上げ下げしていますが、それに合わせて髪の形が変わっています。
![JCMの髪の変形](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/05/p56_img_23.gif?resize=800%2C434&ssl=1)
この JCM のモーフは DAZ で自動的に生成されるため、意図しない形になったり歪んでいる場合も少なくありません。 歪んでる場合は修正します。
修正の仕方は過去記事「DAZ 3D Studio:JCMでできる髪の歪みを修正する」に書いたことがあるので参照してください。
これで一応基本部分は完成です。 あとはお好みでスタイル変更のモーフなどを作ったり、ポーズのモーフを作ったりして仕上げていきます。