LoginSignup
0
0

More than 3 years have passed since last update.

Maya XGen, XGen IGS からポリゴンメッシュを作るメモ

Last updated at Posted at 2019-10-27

背景

XGen の hair/fur を幅を持たせてポリゴンにしたい.
今回は Maya の標準機能だけで行う

制約

  • XGen, XGen IGS ともに, 短冊状ポリゴンのみで, tube 状は作れない模様.
  • 生成されるテクスチャ UV は strand ごとに同じである

XGen

Generate -> Convert XGen primitives to Polygons を使う.
(XGen Editor の Preview/Output -> Operation "Create Geometry" も同等)

XPD でファイルからデータを読んでいるばあい, width の変更はできないので注意(width ramp は変更できるが, [0.0, 1.0] の範囲の値に限られる).

Preview での表示パーセントの設定で, Generate mesh することができる(たとえば表示率を 10% にすると, 全体の 10% の strands に対してメッシュが生成される.

Combine Mesh が off だと, Strand ごとに node が生成されるため, 本数が多いと時間がかかる(e.g. 1 万 strands など).
Combine Mesh on だと高速であるが, 一つのメッシュになるため, その後 strand ごとにポリゴン面を選択して処理がやりずらくなります.

XGen igs

ポリゴン生成は Generate -> Convert Interactive Groom to Polygons で行けます.

width の設定で少し幅を持たせておくとよいでしょう.

XGen のように preview percentage の機能は無い(?)ようなので, 本数制御はできない模様.
(Density parameter で調整は, 動くときと動かないときがある?)

XGen IGS -> XPD -> XGen?

igs を XGen に変換すれば, preview percentage で生成本数制御できます.

XGen igs -> XPD は, XGen SDK にあるプログラムで変換できる

ただし, XGen SDK サンプルコードでは width taper の設定は適切に設定されていないため, 以下のように少し変更が必要です.

また, width ramp の設定は XPD ファイルに記述できないため, python script などで別途 export/import が必要です.

生成された strand mesh の本数を減らす.

Python でランダムにノード選択 -> 削除でいけるでしょう.

TODO

  • Ornatix などの hair plugin を使えばよりよいポリゴン化機能があったりするかしら?
  • XGen の開発は止まっているようでこれ以上の改善は期待できないため, Alembic 書き出しして自前でポリゴン化するプログラムを書く
    • e.g. tube 状ポリゴンを生成など
  • 生成したポリゴン面に, hair のシェーディングを bake するプログラムを書く
    • ptex を使うなどして, strand ごとに unique な UV をアサインする
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0