优化 3D 资产
在Qt Quick 3D 中,您可以导入使用3D建模工具创建的3D模型和场景。要查看支持的文件格式,请参阅Balsam工具文档。
3D 内容概述
本节概述了如何创建 3D 资源并将其导出以供Qt Quick 3D 使用。如需更详细的信息,请参阅您所使用的具体 3D 建模工具的相关章节。
几何体
- 使用三角形 Qt Quick 3D 仅支持以三角形形式导出的几何体。许多3D建模工具在导出时提供将网格三角化的选项,而某些工具则要求您在导出前手动进行三角化。如果模型在导出时未进行三角化,则会在导入时进行三角化,这可能会导致效果不尽如人意。 如果模型使用无法进行三角化的基本图形导出,则这些基本图形在导入时将被忽略。
- 枢轴点的处理每款DCC(数字内容创作)工具对枢轴点的处理方式各不相同。在Qt Quick 3D 中,每个对象仅有一个枢轴点,它被用作位置、缩放和旋转操作的原点。在您的 DCC 工具中,请根据需要自由调整 3D 模型枢轴点的位置。 然而,在 3D 建模工具中对枢轴点进行极端编辑可能会导致导入时出现问题,尤其是当模型包含动画时。这种差异通常表现为对象位置或方向的偏差。作为美术师,您可以通过仅对枢轴点进行简单编辑来避免此类问题。 请将枢轴点保持为默认(世界)对齐方式,不要对其进行缩放,并且如果存在多个枢轴点(如Maya中),请确保它们在空间中位于同一位置。
- 变换正如您所预期的,您可以导入完整的3D变换信息,包括位置、旋转、缩放和枢轴点。Qt Quick 3D 支持右手坐标系、Y轴向上以及基于四元数的旋转。该领域的主要限制在于枢轴点。如上所述,仅支持对枢轴点进行简单的编辑。
大多数DCC工具允许艺术家冻结变换,我们强烈建议在将网格数据导入Qt Quick 3D 之前执行此操作。此操作可确保导入的网格具有干净的变换数据,且不包含任意变换值——这些值可能会造成混淆或阻碍您的工作。
注意: 冻结变换后, 在某些 DCC 工具中可能需要重新定位枢轴点。
动画
本软件支持对导入的属性进行动画处理。位置、旋转、缩放和枢轴点均可进行动画设置。我们对动画的高级支持的一个示例是:一组对象在任意轴上同时旋转。
- 基于时间的动画默认情况下,在许多 3D 建模工具中,创建关键帧时会将其与特定的帧号相关联。这种方法在帧率恒定的电影行业中非常有效,但在帧率可能不稳定的应用场景中,这种技术必然会遇到问题。 我们针对此问题的解决方案是,用时间值而非帧号来表示关键帧的位置。这样,如果您指定“此徽标动画播放 3 秒”,我们就能保证其播放时长为 3 秒。 如果用帧数来表示,比如“这个Logo动画播放180帧”,在60帧/秒的情况下,它可能会播放3秒;但如果帧率降至30帧/秒,动画的播放速度就会明显变慢。
幸运的是,解决这个问题相对简单。许多 3D 建模工具默认设置为每秒 24 帧,因此您的关键帧会按此比例进行转换。如果您希望在 1 秒处设置关键帧,请将其放置在第 24 帧;2 秒处?第 48 帧,以此类推。 通常,软件会提供可配置的帧率选项,导入时应遵循该帧率设置。另外值得注意的是,例如Maya默认从第1帧开始。 如果你在第 1 帧设置了一个关键帧,该关键帧的时间就是 1/24,即 0.041 秒。建议进入 Maya 的动画设置,将动画的起始帧设为 0 帧,即 0/24 = 0 秒。
- 不同的动画系统3D 建模工具提供了高度复杂且专业的动画系统。我们建议在可行的情况下使用Qt Quick 3D 的动画功能。这有助于在导入时保持网格信息的完整性。
- 烘焙动画导出前必须烘焙所有动画。
材质
对于材质,将导入材质槽ID和UV布局。
- 纹理应用于不同材质 ID 的图像将被导入。我们建议使用
.png或压缩图像格式。 - 使用 2 的幂作为纹理贴图像素尺寸与大多数实时图形一样,当纹理贴图的像素尺寸设置为 2 的幂时,其运行效果最佳。
灯光和摄像机
可以导入灯光和摄像机。
- 灯光对于灯光,将导入具有位置、旋转、灯光颜色和衰减因子属性的方向光、点光和聚光灯。
- 摄像机可以导入透视和正交摄像机。位置和旋转属性以及起始和结束裁剪范围都会被导入。对于透视摄像机,视场角也会被导入。
其他
- 坐标轴转换 Qt Quick 3D 采用Y轴向上坐标系,请确保将“
Up Axis”设置为“Y”。 - 层级结构 Qt Quick 3D 支持导入层级信息。支持任意深度的层级结构,包括分组节点。层级变换将按预期应用。
从不同工具导出
© 2026 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.