结合使用Datasmith与Rhino

描述当使用Datasmit将场景从McNeel Rhinoceros 3D导入虚幻时需要考虑的特别因素。

Windows
MacOS
Linux

此页面介绍了Datasmith如何将McNeel Rhinoceros(Rhino)中的场景导入虚幻编辑器中。它遵循Datasmith概述关于Datasmith导入流程中描述的基本流程,但加入了一些专为Rhino设计的转换行为。如果您计划用Datasmith将Rhino中的场景导入虚幻编辑器,阅读此页面可以帮助您理解自己的场景是如何被转换的,以及您该如何操作虚幻编辑器里的结果。

Rhino工作流程

Datasmith对Rhino使用 直接 工作流程。这意味着,要使用Datasmith将Rhino内容导入到虚幻中,只需将Rhino场景保存为 .3dm 文件,并使用 Datasmith 导入工具将这个文件导入到虚幻编辑器中。请参阅将Datasmith内容导入虚幻引擎4

关于其他类型的Datasmith工作流程,请参阅Datasmith支持的软件和文件类型

将几何结构转换为静态网格体

Datasmith为Rhino文件中的每个独立网格体、固体或表面创建一个单独的静态网格体资源。如果某个对象在Rhino中的 属性(Properties) 面板中设置了 名称(Name) 属性(下图左侧所示),则Datasmith会使用这个名称作为静态网格体的名称(下图右侧所示)。Datasmith在关卡中创建的引用该静态网格体资源的任何Actor也会使用这个名称。

实例化

当Datasmith检测到,同一个块体在Rhino场景中有多个实例时,它只会为该块体中的几何结构创建一组静态网格体资源,并将这些静态网格体的多个实例放在场景中。这通常对运行时内存需求和项目性能更为有利,同时也更方便管理 内容浏览器 中的静态网格体数量。

但如果可能,我们建议充分利用这个功能,在Rhino中,将场景中的重复元素(如窗户、门或椅子)创建为块体。有关详细信息,请参阅Rhino文档

曲面细分和渲染网格体

Datasmit对Rhino场景中的对象表面进行曲面细分,成为三角形网格体,其处理流程与其他CAD文件一致。

关于该流程的细节,以及用于控制虚幻引擎中最终三角网格体精细程度的设置,请参阅结合使用Datasmith与CAD文件格式.。

三角形朝向

Rhino通常会将所有表面显示为两面,无论表面法线如何。但是,虚幻引擎会自动剔除没有朝向摄像头的三角形。这可能会导致在从某些角度查看时,场景中的某些几何结构会消失。

例如,下图显示了以表面法线朝内建模的车轮保护罩。在将这个场景导入到虚幻中后,这些表面起初似乎消失了。在这种情况下,翻转对象的法线反向就会看到这些表面原本的样子。

backward-facing

forward-facing

有关完整的讨论和建议的解决方案,请参阅关于Datasmith导入流程

Rhino材质

对于Datasmith在您的Rhino场景中找到的每种不同的表面颜色和材质,它会在虚幻中创建单独的材质资源,并将它放在Datasmith场景资源旁边的“Materials”文件夹中。

  • Materials 文件夹中的每个材质都是材质实例,用于公开Rhino文件中设置的属性:颜色值、纹理贴图等。可更改此类公开属性,以便修改材质在应用到表面时的效果。Datasmith将此类材质资源指定给其创建的静态网格体资源,以便像在Rhino渲染中一样对表面着色。

    Datasmith仅将Rhino对象的材质导入虚幻引擎。而完全忽视Rhino显示颜色。因此,虚幻引擎导入内容的视觉效果将尽可能接近Rhino中的渲染效果。

  • Datasmith还会在 Materials/Master 文件夹中创建一组父材质。其中每个材质都是 Materials 文件夹中至少一个材质资源的父项。如果希望对定义表面显示方式的材质图表进行更深入的控制、将更多参数公开到子实例,或改变渲染时考虑已公开参数的方式,则可对这些父材质进行编辑。

    请注意,更改父材质也会自动更改从此父材质继承的所有材质实例。建议在修改之前复制父材质,对副本进行更改,然后更新特定材质实例,将新副本用作其父项。详情请参阅修改Datasmith主材质

构建Datasmith场景层级

Datasmith按如下所示从Rhino模型构建其场景层级:

  • 对于Rhino场景中的每一层,Datasmith会在虚幻中创建一个Actor来充当该层上所有对象的父代。
    与虚幻编辑器的 层(Layers) 面板中创建的层不同,该Actor层级不是扁平的。Actor就像Rhino场景中的层一样进行嵌套。

  • 在表示每一层的Actor下面,对应层上的每个实例化块体由另一个Actor表示。

    警告:Rhino块体上的支点目前在场景空间中会导入到错误位置。

  • 最后,表示每一层和每个块体的Actor包含静态网格体Actor,而后者表示构成该层或块体的实际几何结构对象。

  • Rhino中的群组不影响虚幻场景层级,因为它们被视为选择助手,而不是场景层级中的重要元素。

例如,在下图中,您会看到Rhino层级中的每一层在虚幻中都有对应的Actor。在Rhino中,类似 照明>转向灯 等仅包含几何结构对象的层在虚幻中仅包含对应的静态网格体Actor。Rhino中的 照明 层还包含两个块体实例,名为 left_headlightright_headlight。每个实例由虚幻中的一个嵌套Actor表示,这个Actor包含构成这些块体的几何结构对象。

特别鸣谢:本页所用的模型由Turbosquid用户tomashorin.design倾情贡献。

Select Skin
Light
Dark

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

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

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

发表反馈意见