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

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