将 Datasmith属性(Datasmith Attributes) 修改器应用于 3ds Max 场景中的对象,自定义 Datasmith 将单独的场景对象从3ds Max转换到 虚幻引擎(Unreal Engine) 的方式。
你可以:
- 指定要用于你在虚幻引擎中创建的光照贴图的UV通道的索引。请参阅"指定光照贴图UV索引"。
- 为场景中的对象分配自定义碰撞几何体。请参阅"设置自定义碰撞体积"。
- 将对象导出为简化边界框,而不是其完整几何体。请参阅"仅导出边界框"。
应用Datasmith属性修改器
在3ds Max中,你从条带中或在 修改(Modify) 面板中应用Datasmith属性修改器。
默认情况下,修改器不会更改Datasmith如何转换3ds Max内容中介绍的导出行为。要自定义该默认行为,你需要更改修改器的设置。
从3ds Max条带
要将Datasmith属性修改器应用到3ds Max场景中的对象,最简单的方式是从3ds Max条带应用。
- 选择要自定义其导出设置的对象。
- 在3ds Max条带的 Datasmith 选项卡上,从 工具(Tools) 面板选择 添加Datasmith属性修改器(Add Datasmith Attributes Modifier) 。
从修改面板
你还可以像应用3ds Max中其他种类的修改器那样应用Datasmith属性修改器。有关更多信息,请参阅3ds Max文档中的修改器。
- 选择要自定义其导出设置的对象。
- 打开 修改(Modify) 面板。
- 从"修改器列表(Modifier List)"下拉菜单中,找到并选择 对象空间修改器(OBJECT-SPACE MODIFIERS)> Datasmith属性(Datasmith Attributes) 。
指定光照贴图UV索引
默认情况下,Datasmith为场景中的每个几何对象创建两个新的UV通道(请参阅Datasmith如何转换3ds Max内容中的 UV通道(UV Channels) )。其中一个通道是光照贴图UV,它存储预计算光照,这可以确保虚幻引擎内的每个对象都与 静态(Static) 和 固定(Stationary) 光照兼容。
如果你已经为3ds Max中的对象创建了光照贴图UV,你可能想改用这些UV。你可以使用Datasmith属性修改器,使你的对象使用你在3ds Max中创建的光照贴图UV。在这种情况下,当你将场景导入虚幻引擎中时,Datasmith不会生成额外的UV。
要指定光照贴图UV索引:
- 在3ds Max中,选择你为其创建了光照贴图UV的对象。
- 应用Datasmith属性修改器(请参阅应用Datasmith属性修改器)。
- 在Datasmith属性修改器设置中,执行以下操作:
- 将 光照贴图UV(Lightmap UVs) 设置为 指定光照贴图通道(Specify Lightmap Channel) 。
- 将 贴图通道(Map Channel) 设置为你想让所选对象用于预计算光照的UV通道的索引。
将场景与虚幻同步时,或者将其导出并导入到虚幻引擎中时,应用了Datasmith属性修改器的对象会使用你指定的贴图通道。Datasmith不会创建新的UV通道。
如需详细了解虚幻引擎中的UV,请参阅将UV通道用于静态网格体。
验证虚幻引擎中的UV索引
要验证虚幻引擎是否使用了正确的光照贴图UV索引设置,请执行以下操作:
- 在 内容浏览器(Content Browser) 中,找到对应你在3ds Max中为其创建光照贴图UV的某个对象的 静态网格体资产(Static Mesh Asset) 。
- 双击该资产,在 静态网格体编辑器(Static Mesh Editor) 中打开。
- 在 细节(Details) 面板中,查找 通用设置(General Settings)> 光照贴图坐标索引(Light Map Coordinate Index) 设置。 该值应该对应你在3ds Max中识别的UV通道。
根据Datasmith在将对象导入虚幻引擎中时对UV通道重新编制索引的方式, 光照贴图坐标索引(Light Map Coordinate Index) 设置中显示的索引编号可能与你在Datasmith属性修改器中设置的编号不匹配。
要验证索引是否引用你所预期的UV布局,你可以在静态网格体编辑器中显示你的光照贴图。
- 从静态网格体编辑器工具栏,选择 UV > [UV INDEX NUMBER] ,其中UV INDEX NUMBER是 光照贴图坐标索引(Light Map Coordinate Index) 设置中的编号。
静态网格体编辑器在视口左下角显示光照贴图。
设置自定义碰撞体积
你可以使用Datasmith属性修改器指定一个对象,供虚幻引擎用作其他场景对象的碰撞网格体。 碰撞网格体对象必须是全凸的,并且必须将枢轴点定位在与原始对象相同的相对于体积的位置。如需更多信息,请参阅Datasmith如何转换3ds Max内容中的自定义碰撞形状。
要设置自定义碰撞体积,请执行以下操作:
- 在3ds Max中,选择你想为其设置自定义碰撞网格体的对象。
- 应用Datasmith属性修改器(请参阅应用Datasmith属性修改器)。
- 在Datasmith属性修改器设置中,执行以下操作:
- 启用 使用自定义碰撞网格体(Use Custom Collision Mesh) 。
- 点击 选取几何对象(Pick Geometric Object) 。
- 在3ds Max的 视口(viewport) 或 大纲视图面板(Outliner panel) 中,选择你想用作碰撞网格体的对象。
同步时,或将场景重新导入虚幻编辑器时,你将Datasmith属性修改器分配到的对象在碰撞网格体对象的形状中有新的碰撞体积。
仅导出边界框
有时,你可能希望虚幻引擎和3ds Max为相同场景对象使用不同的几何体。例如,如果你的3ds Max场景包含你在离线渲染中使用的复杂或非常密集的几何体,你可能需要在虚幻引擎中使用复杂度较低的版本,因为后者的实时执行效率更高。
如果你要在导出场景时将对象的几何体替换为简化表示,那么你可以使用Datasmith属性修改器来识别这些对象。Datasmith不会导出完整几何体,而是基于每个对象的3D边界框创建对象的轻量级几何表示。
同步时,或将场景导入虚幻引擎中时,对于你使用Datasmith属性修改器标记的场景对象,其原始几何体会替换为简单灰色边界体积。其名称和位置与原始对象相同。
要导出所选对象的边界框表示,请执行以下操作:
- 在3ds Max中,选择你想为其导出边界框表示的对象。
- 应用Datasmith属性修改器(请参阅应用Datasmith属性修改器)。
- 在Datasmith属性修改器设置中,将"几何体导出为(Export Geometry As)"设置为 边界几何体(Bounding Geometry) 。
边界框导出示例
在下图中,3ds Max场景的窗口应用了Datasmith属性修改器,并且设置为仅导出为边界框。将其导入虚幻引擎关卡中时,它们显示为带有默认材质的简化体积。
此3ds Max场景的窗口设置为仅导出为边界框。点击查看大图。
在虚幻引擎中,窗口显示为带有默认材质的简化体积。点击查看大图。
你可以用多种方式利用这些简化的场景元素。例如,你可能希望将简化对象替换为你自己的自定义静态网格体资产的实例。你也可以让简化Actor隐藏不见,但将它们包含的信息(例如,其在3D空间中的位置或其边界框的范围)用于其他目的。