优化三维资产
在Qt Quick 3D 中,您可以导入使用 3D 建模工具创建的 3D 模型和场景。要查看支持的文件格式,请参阅Balsam 工具文档。
三维内容概述
在本节中,您将看到在Qt Quick 3D 中创建和导出 3D 资产的概述。如需了解更多详细信息,请参阅正在使用的特定三维建模工具的相关章节。
几何图形
- 使用三角形 Qt Quick 3D 只支持导出为三角形的几何体。许多三维建模工具都提供了在导出时对网格进行三角化处理的选项,而有些工具则必须在导出前手动进行三角化处理。如果在导出时未对模型进行三角剖分,则在导入时会对其进行三角剖分,这可能会导致效果不理想。如果在导出模型时使用了无法进行三角剖分的基元,那么在导入时将忽略这些基元。
- 处理枢轴点每个 DCC(数字内容创建)工具处理枢轴点的方式都不同。在Qt Quick 3D 中,每个对象只有一个支点,它被用作位置、缩放和旋转操作的原点。在 DCC 工具中,可以根据需要随意调整 3D 模型的枢轴位置。但是,在三维建模工具中对枢轴进行极端编辑可能会在导入时造成问题,尤其是在动画情况下。这种差异通常表现为对象的位置或方向不同。作为一名艺术家,只需对枢轴点进行简单的编辑,就能避免此类问题的发生。保持枢轴点的默认(世界)对齐方式,不要缩放它们,如果您有多个枢轴点 (Maya),请确保它们在空间中处于相同的位置。
- 变换如您所料,您可以导入完整的三维变换信息,包括位置、旋转、缩放和枢轴。Qt Quick 3D 可以处理右手坐标系、Y-up 和基于四元数的旋转。这方面的主要限制是枢轴点。如上所述,只支持对枢轴点的简单编辑。
大多数 DCC 工具都允许艺术家冻结变换,我们强烈建议在将网格数据导入Qt Quick 3D 之前执行此操作。我们强烈建议您在将网格数据导入 之前执行此操作。此操作可确保导入的网格具有干净的变换数据,而不会出现任意变换值,因为任意变换值可能会造成混淆或妨碍您的工作。
注意: 冻结变换后,您可能需要在某些 DCC 工具中重新定位支点。
动画
导入的属性支持动画。位置、旋转、缩放和枢轴都可以制作动画。我们对动画的高级支持的一个例子是,在任意轴上同时旋转的分层项。
- 基于时间的动画默认情况下,在许多三维建模工具中,创建关键帧时都会将其与特定的帧数相关联。这在帧速率恒定的电影业中非常有用,但在帧速率可能并不稳定的应用中,这种技术必然存在问题。我们的解决方案是用时间值而不是帧数来表示关键帧的位置。这样,如果你说"这个徽标动画播放 3 秒钟",我们就能保证它播放 3 秒钟。如果用帧数来表示,"此徽标动画播放 180 帧",在 60 帧/秒的情况下可能会播放 3 秒,但如果降到 30 帧/秒,动画播放速度就会慢得多。
幸运的是,解决这个问题相对简单。许多 3D 建模工具默认设置为每秒 24 帧,因此您的关键帧将按照这一比例进行转换。如果你想在一秒内获得一个关键帧,就把它放在第 24 帧。两秒?第 48 帧,以此类推。通常会提供可配置的帧频,导入时应遵守帧频设置。另外值得注意的是,例如 Maya 默认从第一帧开始。如果关键帧位于第一帧,则该关键帧的时间为 1/24 或 0.041 秒。不妨进入 Maya 动画设置,从第 0 帧或 0/24 = 0 秒开始动画。
- 不同的动画系统三维建模工具提供高度复杂和专业的动画系统。我们建议尽可能使用Qt Quick 3D 的动画功能。这有助于在导入时保持网格信息的整洁。
- 烘焙动画输出前必须烘焙所有动画。
材质
对于材质,将导入材质槽 ID 和 UV 布局。
- 纹理会导入应用于不同材质 ID 的图像。建议使用
.png
或压缩图像格式。 - 使用二乘幂纹理贴图像素尺寸与大多数实时图形一样,纹理贴图的像素尺寸设置为二乘幂时,运行效果最佳。
灯光和摄像机
可以导入灯光和摄像机。
- 灯光可以导入带有位置、旋转、光色和衰减系数属性的灯光、方向灯、点灯和聚光灯。
- 摄像机可以导入透视和正交摄像机。位置和旋转属性以及开始和结束剪辑都会被导入。对于透视摄像机,视场也会被导入。
其他
- 轴转换 Qt Quick 3D 使用 Y-up 坐标系,请确保
Up Axis
设置为Y
。 - 层次结构 Qt Quick 3D 支持导入层次结构信息。支持任意深度的层次结构,包括分组节点。层次变换的应用符合预期。
从不同工具导出
工具 |
---|
玛雅 |
Blender |
3D Studio Max |
莫多 |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.