XGen による毛髪や、体毛、毛皮のレンダリングに関するガイドライン

Unreal Engine 4 で使用するために、グルームを Alembic ファイルとしてエクスポートするためのガイドラインを説明します。

Windows
MacOS
Linux

このガイドでは、「Alembic for Grooms」 のドキュメントで概説されているサポートされた属性のセットを使用して Unreal Engine にインポートを行うために、Maya の「従来の XGen ヘア作成システム」 でグルームを設定する方法を説明します。

このガイドのアセット作成には、Maya 2018.6 を使用しました。

レガシー XGen の記述を変換する

NURBS 曲線の操作

  1. Maya のメニューセットを [Modeling (モデリング)] に設定すると、正しいメニュー オプションが使用可能になります。

    MenuSetSelection.png

  2. メインメニューから [Generate (作成)] のドロップダウンをクリックし、 [XGen Editor (XGen エディタ)] を選択します。

  3. [XGen] ウィンドウで、[Utilities (ユーティリティ)] タブから [Guides to Curves (カーブの操作)] を選択します。

    XGen_Utilities.png

  4. [Create Curves (カーブを作成)] をクリックします。

完了すると、グルームの出力は次のようになります。

GuidesToNurbsCurvesOutput.png

XGen Interactive Groom へのグルーム

従来の XGen Description を使用している場合、グルームを XGen Interactive Groom に変換する必要があります。これを行うには、次のいずれかの方法を実行します。

  1. XGen Description ノードを選択します。

    XGenDescriptionNodes.png

  2. [Modeling (モデリング)] メニュー セットで、メイン メニューから、[Generate (作成)] ドロップダウンをクリックし、[Convert to Interactive Groom] を選択します。

    XGenInteractiveGroom.png

NURBS カーブへのスプライン記述

  1. [XGen Spline Description nodes (XGen スプライン記述ノード)] を選択します。

  2. [Modeling (モデリング)] メニュー セットで、メイン メニューから、[Generate (作成)] ドロップダウンをクリックします。次に、[Cache (キャッシュ)] > [Export Cache (キャッシュをエクスポート)] を選択します。

    SplineDescToNurbsCurve_ExportCache.png

  3. [Export Cache (キャッシュをエクスポート)] ウィンドウで、以下を設定します。

    SplineDescToNurbsCurve_ExportCacheWindow.png

    • [Cache Time Frame (キャッシュのタイムフレーム)]:[Current Frame (現在のフレーム)]** に設定

    • [Multiple Transforms (複数のトランフォーム)]:Disabled (無効)

    • [Write Final Width (最終的な幅を書き込み)]:Enabled (有効)

  4. ファイルに名前を付け、ファイル タイプとして [Alembic] を選択します。

    SplineDescToNurbsCurve_ExportCacheFile.png

  5. [Export (エクスポート)] をクリックします

  6. 次に、[File (ファイル)] メニューを使用し、[Import (インポート)] を選択して[Import (インポート)] ウィンドウを開き、Alembic (.abc) ファイルをシーンに取り込みます。

    SplineDescToNurbsCurve_ImportAlembic.png

このプロセスを完了したら、XGen スプライン記述は、Alembic ファイルとしてエクスポートされ、補間されたヘアを NURBS カーブとして取り込むためにインポートされます。

SplineDescToNurbsCurve_Output.png

属性を作成する

ID 属性を作成する

補間されたヘアは、1 つ以上のグループでエクスポートできます。これらのグループは、固有マテリアル割り当てのために Unreal Engine で認識されます。

グループ ID 属性を作成するときは、次のスクリプトを使用します。

from maya import cmds

attr_name = 'groom_group_id'

# NOTE: change the following names to reflect your node’s scene.
groups = ['hair_brows_splineDescription1|SplineGrp0', 'hair_lashes_splineDescription1|SplineGrp0', 'hair_head_splineDescription1|SplineGrp0']

for groom_group_id, group_name in enumerate(groups):

    # get curves under xgGroom
    curves = cmds.listRelatives(group_name, ad=True, type='nurbsCurve')

    # tag group with group id
    cmds.addAttr(group_name, longName=attr_name, attributeType='short', defaultValue=groom_group_id, keyable=True)

    # add attribute scope
    # forces Maya’s alembic to export data as GeometryScope::kConstantScope
    cmds.addAttr(group_name, longName='{}_AbcGeomScope'.format(attr_name), dataType='string', keyable=True)
    cmds.setAttr('{}.{}_AbcGeomScope'.format(group_name, attr_name), 'con', type='string')

ガイド属性を作成する

グルーミングのガイド属性を作成するとき、「ガイド」とタグ付けされたカーブのみが、Unreal Engine でのシミュレーションに使用されます。Alembic ファイルにガイドが指定されていない場合、補間されたヘアのパーセンテージは、UE4 へのインポート プロセス中にガイドとして内部でタグ付けされます。

ガイドなしでグルームをインポートする場合、「ガイド」とタグ付けされた補間されたヘアの割合は、 [Groom Import Options (グルームのインポートオプション)] で設定できます。デフォルトでは、ヘア数の 10% のみがガイドとして使用されます。

ガイド属性を作成するときは、次のスクリプトを使用します。

from maya import cmds

attr_name = 'groom_guide'

# get curves under xgGroom
curves = cmds.listRelatives('xgGroom', ad=True, type='nurbsCurve')

# create new group
guides_group = cmds.createNode('transform', name='guides')

# tag group as groom_guide
cmds.addAttr(guides_group, longName=attr_name, attributeType='short', defaultValue=1, keyable=True)

# forces Maya's alembic to export curves as one group.
cmds.addAttr(guides_group, longName='riCurves', attributeType='bool', defaultValue=1, keyable=True)

# add attribute scope
# forces Maya’s alembic to export data as GeometryScope::kConstantScope
cmds.addAttr(guides_group, longName='{}_AbcGeomScope'.format(attr_name), dataType='string', keyable=True)
cmds.setAttr('{}.{}_AbcGeomScope'.format(guides_group, attr_name), 'con', type='string')

# parent curves under guides group
for curve in curves:
    cmds.parent(curve, guides_group, shape=True, relative=True)

Maya から Alembic にエクスポートする

  1. Maya でエクスポートするガイドと Group_ID カーブを選択します。

    各ノードには固有の名前が必要です。

  2. [Modeling (モデリング)] メニューセットで、メイン メニューから [Cache (キャッシュ)] ドロップダウンをクリックし、[Alembic Cache] > [Export Selection to Alembic] を選択します。

    ExportToAlembic_ExportSelection.png

  3. [Export Selection (選択範囲をエクスポート)] ウィンドウの [General Options (全般オプション)] カテゴリで、[Cache time range (キャッシュ時間の範囲)][Current Frame (現在のフレーム)] に設定します

    ExportToAlembic_ExportSelection_CurrentFrame.png

  4. 次に、[Attributes (属性)] カテゴリの下で、リストに追加する [Attributes (属性)] の名前を入力し、[Add (追加)] ボタンをクリックします。次のスキーマ属性を追加してください。

    ExportToAlembic_ExportSelection_AddAttributes.png

    • groom_group_id

    • groom_guide

  5. [File name (ファイル名)] テキストボックスでファイルに名前を付け、[Files of type (ファイルの種類)][Alembic] に設定します。

    ExportToAlembic_ExportSelection_FileNameType.png

  6. [Export Selection (選択範囲をエクスポート)] ボタンをクリックします。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信