图形/仿真

使用 NVIDIA Omniverse Reallusion Connector 简化真实角色创建

角色创作和动画是两门截然不同的学科,需要训练有素的艺术家具备专业背景知识。这些领域对于来自不同技能背景的无关背景的艺术家来说是困难和令人沮丧的,角色创建者和 iClone 是专门为解决这个问题而创建的。

Character Creator 定位良好,可以通过强大的管道为主流工具(如 ZBrush 、 Substance 和 Blender )创建逼真且风格化的角色。结合使用 LOD (细节级别)导出 FBX 的功能、数字人体着色器和丰富的运动资源集合, iClone 作为动画编辑器而不需要陡峭的学习曲线。

2020 年 NVIDIA Omniverse 的发布是一个引起我们注意的重大事件。 Omniverse 代表下一代 3D 虚拟协作和实时仿真平台,将人员和应用程序连接起来,实现广泛协作。 Reallusion 软件套件与大量高质量角色资产和动作库相结合,可以在这个生态系统中发挥关键作用,而 Omniverse 提供了路径跟踪渲染和 AI 技术,实现了强大的协同作用。

从哪里开始?

要建立连接器,您可以参考NVIDIA 发射器应用程序上下载的 Connect 样本代码

Image of ov connector sample: To get started with Omniverse and building a connector, reference the sample code that is attached.Image of ov connector sample: To get started with Omniverse and building a connector, reference the sample code that is attached.
图 1 。使用示例代码构建您自己的 Omniverse 连接器

Omniverse Youtube 频道 ,有一个很棒的初学者教程: 从 Connect 示例创建 Omniverse USD 应用程序 .

场景和角色动画

iClone 和 Character Creator 的 3D 场景由具有基本变换(包括平移、旋转和缩放值)的节点组成。角色、网格、灯光和摄影机都附着在这些节点下。

角色骨架的骨骼也由这些节点表示。仅表示变换的节点导出为 USD 变换,表示身体和面部骨骼的节点导出为 USD 骨骼关节。在转换为 USD 格式之前,会将其他骨骼和蒙皮添加到附着到骨骼的附件节点。

image of asset tree: When manipulating and animating a real character, the various bones and joints all have an important role to play to create a real output. image of asset tree: When manipulating and animating a real character, the various bones and joints all have an important role to play to create a real output.
图 2 。变换( Xforms )和关节的场景图

USD Xform 缩放以与 iClone 完全不同的方式工作。在 iClone 中,可以使节点继承或忽略父节点比例,而在 Omniverse 中,节点比例始终从其父节点继承。在这种情况下,在导出到 Omniverse 之前,必须删除骨骼节点比例继承并重置其值,以便比例值匹配。

iClone 的大部分面部表情都是由变形动画组成的,这些动画以 USD 混合形状导出。与存储在局部空间位置的 FBX 混合变形不同, USD 混合变形存储位置偏移。

由于 iClone 还存储位置偏移(与强度乘数结合使用),因此它与 Omniverse 完全兼容,可以直接转换为 USD 格式。需要注意的是, Omniverse 需要一个带有混合形状的支柱的骨架根部,可能需要额外的处理。

物质转化

以下部分包含 iClone 的 USD 导出程序的 MDL 代码摘录。有关详细信息,请参阅 USD 着色器属性 .

在 USD 文件中,使用info:mdl:sourceAssetinfo:mdl:sourceAsset:subIdentifier作为输入函数来指定 MDL 。 NVIDIA 和 PIXAR 引入了新的subIndentifier属性。稍后调用input:以输入纹理和材质参数。OmniPBR.mdl附带的OmniPBR.mdl和 Omniverse 被用作起点。

OmniPBR 。 mdl 从一开始就被选中,因为它在 NVIDIA RTX 实时模式和路径跟踪模式下都运行良好。另一方面, OmniSurface 和 OmniHair 是用于 RTX 路径跟踪模式的照片逼真 MDL 。然后将现有的 PBR 、蒙皮、头部和 SSS 着色器从 HLSL 重写为 MDL 。

Image of female: Accurate hair, skin shading, and facial manipulation is vital to creating realistic digital humans.Image of female: Accurate hair, skin shading, and facial manipulation is vital to creating realistic digital humans.
图 3 。 Omniverse 对照片级真实感角色使用 OmniSurface 和 OmniHairare MDL
Image of pool: Having high quality and realistic water that floats and moves like a true liquid would in real life with realistic reflections creates a true final image.Image of pool: Having high quality and realistic water that floats and moves like a true liquid would in real life with realistic reflections creates a true final image.
图 4 。使用 Omniverse 在游泳池中创建逼真的浮动水

游泳池里的流水 是另一个很好的例子:

float2 inputs:texture_translate.timeSamples = {
0: (0, 0),
4000: (4, 8),
}

除了前面提到的内置 MDL 之外, GitHub 上还有一个 base.mdl ,其中包含一些可立即部署的可重用函数。

光转换

点光源和聚光灯使用UsdLuxSphereLight调整锥角。筒灯和矩形灯分别使用UsdLuxCylinderLightUsdLuxRectLight。灯光 IES 轮廓文件也是一个造型属性。 r 中的光强度与单位表面积的发光强度相似。半径为( USD 米)的球面光的 USD 强度可通过以下公式近似计算:

USD intensity = candela * 1000 * / (4PI r*r)

当半径以厘米为单位时,使用以下公式:

USD intensity = candela * 1000 / (4PI(0.01r)*(0.01r))

半径是 Omniverse 渲染器中的重要属性。我们建议最小半径为 2 cm 。有关更多示例,请参见 iClone Omniverse 连接器教程– iClone 和 Omniverse 中的灯光设置 .

Image of cars: Using the lighting radius to manipulate feel within Omniverse can have a great impact on the final outcome of the render.Image of cars: Using the lighting radius to manipulate feel within Omniverse can have a great impact on the final outcome of the render.
图 5 。在 Omniverse 渲染器中显示照明真实感

下一步是什么

单向实时同步连接器的原型正在开发中。因为 iClone 的撤销/重做系统类似于 memento pattern ,所以可以使用一个表来跟踪具有通用 ID 的活动对象。此表在执行撤消和重做功能后更新。

要了解此解决方案的工作原理,请查看我们的 character creationcharacter animation 解决方案或观看我们的 2021 GTC 秋季会议录像 .

有关更多信息和参与讨论,请访问 NVIDIA Omniverse 论坛NVIDIA Omniverse Discord 频道 。有关美元的更多信息,请参阅 USD GITHUBNVIDIA 预先构建的库/工具

 

Tags