Alembic for Grooms规范

介绍如何将Grooms导出为Alembic文件,供虚幻引擎4使用。

Windows
MacOS
Linux

毛发渲染与模拟功能旨在提供毛发导入、渲染和模拟(基于发束)的最小可行实现。本更新不提供毛发梳理解决方案。毛发的造型或梳理需要在Maya等第三方DCC工具中用XGen工具或插件剃毛和理发(Shave and a Haircut) 来执行。也可使用其他工具,如OrnatrixYetiHoudini

本文档介绍了Alembic文件的一种非正式模式,以标准化毛发梳理的导入操作,并将毛发信息导入虚幻引擎4,以供毛发渲染与模拟 功能使用。在生成毛发梳理(Hair Grooms)时,只要遵循此模式,UE4即可直接导入这些梳理(grooms)文件。导入后,UE4支持的渲染和物理相关属性将映射到Alembic文件中的对应属性。

目标

  1. 定义梳理专有的非正式Alembic元数据模式,以便将毛发导入虚幻引擎。

  2. 检查UE4支持的毛发相关属性,并将这些属性映射到Alembic。

曲线

从标准Alembic曲线模式中读取毛发的常规形状:

Alembic::AbcGeom::ICurves

宽度

使用以下命令可为每个ICurve存储曲线宽度:

(GeometryScope::kConstantScope)

使用以下命令可为每个曲线存储曲线宽度:

(GeometryScope::kUniformScope)

使用以下命令可为每个cv存储曲线宽度:

(GeometryScope::kVertexScope)

注意,导入器支持 kUniformScope,但未经过测试。

命名规则

属性名必须小写,不含空格或特殊字符。

所有属性必须使用以下前缀:

groom_<attr>

举例而言,groom_id、`groom_color`或`groom_width`都符合命名规则。

范围和优先权

本文档中的属性都有指定范围。该范围控制可在哪个梳理的 级别 上对属性进行定义。

可用范围包括:

范围

说明

Constant

针对带 AbcGeom::ICurves 对象的所有曲线,这些参数都拥有单一值。

Uniform

针对 AbcGeom::ICurves 对象中的每个曲线,这些参数都拥有一个值。

Vertex

针对每个cv每条曲线,这些参数都拥有一个值。

常规属性

本节介绍整体应用于梳理的属性。这些属性应添加到最顶部的节点:IXForm或ICurves。

名称

类型

可选

说明

groom_version_major

int16

用于识别此文件符合梳理方案的哪个 主要 版本。

1

groom_version_minor

int16

用于识别此文件符合方案的哪个 次要 版本。

4

groom_tool

字符串

生成此文件的工具的名称和版本。用于调试和跟踪问题。

groom_properties

字符串

该字符串描述用于生成此梳理的参数。这些是工具专属的选项,用于调试。

几何体参数

名称

类型

范围

可选

说明

范围

groom_ guide

int8/16/32

常量/统一

将毛发标记为导线

0 = 非导线 / 1 = 导线

groom_group_id

int32

常量/统一

毛发分组ID

[0, INT_MAX]

groom_root_uv

float32/64[2]

统一

毛发根部附件网格体的UV坐标

[-FLOAT_MAX, FLOAT_MAX]

groom_id

int32

统一

统一

每个发束的毛发ID

[0, INT_MAX]

groom_color

float32/64[3]

顶点

毛发颜色

[0, FLOAT_MAX]

groom_closest_guides

int32[3]

统一

统一

影响毛发的导线ID

[0, INT_MAX]

groom_guide_weights

float32[3]

统一

统一

影响毛发的导线权重

[0, FLOAT_MAX]

Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见