Alembic for Grooms の仕様

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

Windows
MacOS
Linux

髪のレンダリングとシミュレーションの機能は、ストランド ベースの髪のインポート、レンダリング、シミュレーションの最低限実行可能な実装を提供することを目的としています。このアップデートでは髪のグルーミングのソリューションは提供されません。髪のシェイピングやグルーミングについては、XGen ツールや Shave and a Haircut プラグインを使用して、Maya などの外部 DCC ツールで実行する必要があります。OrnatrixYetiHoudini などのツールを使用することもできます。

このドキュメントでは、Hair Groom のインポートを標準化する試みにおける Alembic ファイルの非公式なスキーマの概要を説明し、髪の情報を髪のレンダリングとシミュレーション 機能で使用するために、Unreal Engine 4 (UE4) に取り込む方法についても説明します。このドキュメントの目的は、Hair Groom の生成に際してこのスキーマに準拠することで、グルームを UE4 で直接インポートできるようにすることです。インポートが完了すると、レンダリングと物理の両方で UE4 でサポートされている属性が、Alembic ファイル内のこれらの属性にマッピングされます。

目標

  1. Unreal Engine への髪のインポートを可能にする、グルーム特有の非公式な Alembic メタデータ スキーマを定義する。

  2. UE4 でサポートされている髪の属性を調べて、これらの属性を Alembic にマッピングする。

カーブ

髪の全般的な形状は、標準の Alembic カーブ スキーマから読み取られます。

Alembic::AbcGeom::ICurves

カーブの幅は、以下を使用して ICurve ごとに保存できます。

(GeometryScope::kConstantScope)

または、以下を使用してカーブごとに保存できます。

(GeometryScope::kUniformScope)*

または、以下を使用して cv ごとに保存できます。

(GeometryScope::kVertexScope)

インポーターは kUniformScope をサポートしますが、テストされていないことに留意してください。

命名規則

プロパティ名はすべて小文字で、スペースまたは特殊文字を含めることはできません。

すべてのプロパティは、次のプレフィックスで始める必要があります。

groom_<attr>

例えば、groom_idgroom_color、または groom_width では適切な命名規則がすべて使用されています。

スコープと優先度

このドキュメントで紹介するプロパティにはスコープが割り当てられています。このスコープでは、グルームのどの「レベル」でプロパティを定義できるかを制御します。

利用可能なスコープは次のとおりです。

スコープ

説明

Constant

これらのパラメータは、AbcGeom::ICurves オブジェクトを持つすべてのカーブに対して単一の値を含んでいます。

Uniform

これらのパラメータは、AbcGeom::ICurves オブジェクト内にカーブごとの値を含んでいます。

Vertex

これらのパラメータは、カーブごと、cv ごとの値を含んでいます。

全般的なプロパティ

このセクションでは、グルーム全体に適用されるプロパティの概要を説明します。これらのプロパティは、最上位ノードである IXForm または ICurves に追加する必要があります。

名前

省略可能

説明

groom_version_major

int16

いいえ

このファイルが適合する メジャー なバージョンのグルーム スキーマの特定に使用されます。

1

groom_version_minor

int16

いいえ

このファイルが適合する マイナー なバージョンのスキーマの特定に使用されます。

5

groom_tool

string

はい

このファイルを生成したツールの名前とバージョン。問題の追跡および特定とデバッグに便利です。

groom_properties

string

はい

このグルームの生成に使用されるパラメータを説明する文字列。これらはツール特有のオプションであり、デバッグに使用されます。

ジオメトリ パラメータ

名前

スコープ

省略可能

説明

範囲

groom_ guide

int8/16/32

Constant/Uniform

はい

髪をガイドとしてタグ付けします。

0 = ガイドではない、1 = ガイド

groom_group_id

int32

Constant/Uniform

はい

Hair (髪) グループ ID。

[0, INT_MAX]

groom_root_uv

float32/64[2]

Uniform

はい

Hair (髪) ルートでのアタッチメント メッシュの UV 座標。

[-FLOAT_MAX, FLOAT_MAX]

groom_id

int32

Uniform

はい

ストランドごとの Hair (髪) ID。

[0, INT MAX]

groom_color

float32/64[3]

Vertex

はい

髪の色。

[0, FLOAT_MAX]

groom_closest_guides

int32[3]

Uniform

はい

髪に影響を与えるガイドの ID。

[0, INT_MAX]

groom_guide_weights

float32[3]

Uniform

はい

髪に影響を与えるガイドの重み。

[0, FLOAT_MAX]

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback