优化3D资源
在Qt Quick 3D中,您可以导入使用3D建模工具创建的3D模型和场景。要了解支持的文件格式,请参阅Balsam工具文档。
3D内容概述
在本节中,您将找到创建和导出用于Qt Quick 3D的3D资源的概述。有关更详细的信息,请参阅您所使用的特定3D建模工具的章节。
几何体
- 使用三角形 Qt Quick 3D仅支持以三角形格式导出的几何体。许多3D建模工具在导出时提供了一个选项来三角化网格,而在某些工具中,您必须在导出之前手动完成此操作。如果模型在导出时没有进行三角化,则将在导入时进行三角化,这可能导致结果不佳。如果使用不能进行三角化的原语导出模型,则在导入时将忽略这些原语。
- 处理支点每个数字内容创建(DCC)工具处理支点的方式不同。在Qt Quick 3D中,每个对象只有一个支点,它用作位置、比例和旋转操作的基准。在您的DCC工具中,您可以根据需要调整3D模型的支点位置。但是,对3D建模工具中的支点进行极端编辑可能导致导入时出现问题,尤其是在有动画的情况下。这种差异通常表现为物体位置或方向的差异。作为艺术家,您可以通过仅对支点进行简单编辑来防止这些问题。保持支点默认(世界)对齐,不要对其进行缩放,并确保如果有多个支点(Maya),它们在空间中的位置都相同。
- 转换如预期,您可以导入包括位置、旋转、比例和支点的完整3D转换信息。Qt Quick 3D可以处理右手坐标系、Y-up和基于四元数的旋转。此区域的主要限制是支点。如前所述,仅支持对支点的简单编辑。
大多数DCC工具允许艺术家冻结转换,我们强烈建议在将网格数据导入Qt Quick 3D之前执行此操作。此操作确保导入的网格具有干净的转换数据,并且没有任意转换值,这可能令人困惑或阻碍您的操作。
注意:在冻结转换后,您可能需要在某些DCC工具中重新定位支点。
动画
在导入的属性上支持动画。位置、旋转、比例和支点都可以进行动画处理。我们高级支持动画的示例之一是项目层次结构的旋转,同时围绕任意轴旋转。
- 基于时间的动画 默认情况下,在许多3D建模工具中,您在创建关键帧时将与某些帧数关联。这在帧率恒定的电影行业中很棒,但这种技术在帧率可能不是非常固定的应用中必然会有问题。我们针对这个问题的解决方案是,用时间值来表示关键帧的位置,而不是帧数。这样,如果您说 "这个标志动画播放3秒",我们可以保证它播放3秒。如果您用帧表示,"这个标志动画播放180帧",如果您的帧率是60 fps,它可能播放3秒,但如果帧率降低到30 fps,则动画会变得非常慢。
幸运的是,考虑到这一点相对简单。许多3D建模工具默认为每秒24帧,因此您的关键帧以该比例转换。如果您要在一秒处设置关键帧,请将其放在第24帧。两秒?第48帧,依此类推。通常,还提供可配置的帧率设置,并且应在导入时尊重帧率设置。还值得注意的是,例如Maya默认从第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坐标系统,确保
Up Axis
设置为Y
。 - 层次结构 Qt Quick 3D支持导入层次化信息。支持任意深度的层次结构,包括分组节点。按预期应用层次变换。
从不同的工具导出
© 2024 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档根据自由软件基金会发布的 GNU自由文档许可1.3版本 的条款进行许可。Qt和相应的商标是芬兰以及/或其他国家的Qt公司有限公司的注册商标。所有其他商标为各自所有者的财产。