导出3D素材
您可以将使用3D图形应用程序创建的文件导入,并导出为多种广泛使用的格式,例如 .blend、.dae、.fbx、.glb、.gltf、.obj、.uia或.uip。有关支持的格式的详细信息,请参阅相关版本的模块文档。
根据3D图形工具的不同,您可能需要安装导出插件才能将文件导出为特定格式。
对于复杂的三维模型,建议在导出时不要合并来自3D图形工具的文件,这样如果存在性能问题,您可以轻松地在Qt Design Studio中删除单个网格。
在从3D图形工具导出之前,请考虑您需要的三维模型多少细节。如果模型距离摄像机很远,请将模型优化为最少的多边形数量,同时不牺牲模型。在相机近距离内的高详细模型中,尽可能使用图像图来增加细节。如果模型仅从某些角度查看,请考虑对不在直接摄像机视图中的部分进行进一步优化,以获得最佳性能。
要获得最佳结果,当从3D资产中导出并将其导入Qt Design Studio时,请遵循以下部分的通用指南。有关特定工具的导出插件的更多信息,请参阅从不同工具导出。
几何形状
Qt Design Studio支持导出为三角形、四边形和五边形的几何形状。对于基本几何形状,您主要需要关注基点点和变换。
基点点
在Qt Design Studio中,每个组件只有一个基点。它用作缩放和旋转的起点。根据需要调整三维模型的基点位置。
然而,对3D建模工具中旋转点的极端编辑可能会在导入Qt Design Studio时引发问题,尤其是如果处于动画状态。这种差异通常表现为组件位置或方向的差异。您可以通过仅对旋转点进行简单编辑来阻止这些问题的发生。保持您的旋转点默认(世界)对齐,不要放大它们,并确保如果您的多个旋转点(Maya)都在空间中的同一位置。
变形
您可以导入包括位置、旋转、缩放和旋转中心的完整的3D变形信息。Qt Design Studio可以导入左和右-handed坐标系统、y-up或z-up,以及任意顺序的旋转。这方面的主要限制是旋转中心点。正如上面所讨论的,只支持对旋转点进行简单的编辑。
大多数3D图形工具允许您对组件和顶点应用变形。我们强烈建议在将网格数据导入Qt Design Studio之前这样做。这确保了导入Qt Design Studio的网格具有干净的变形数据,没有任意的变形值,这些值可能会造成混淆或成为您工作的障碍。
注意:应用变形后,您可能需要在一些3D图形工具中重新定位旋转中心点。
动画
Qt Design Studio支持任何导入属性上的动画。位置、旋转、缩放和旋转中心都可以动画化。例如,一个项目层次结构可以导入在任意轴上以任意轴顺序同时旋转的情况。Qt Design Studio还支持导入动画中修改的贝塞尔切线值。
基于时间的动画
在许多3D建模工具中,当您创建关键帧时,您会将它们与帧号关联起来。这在帧率恒定的电影行业中很好,但在帧率可能或可能不稳定的应用程序中可能会出现问题。如果您指定标志动画将播放180帧,那么它将以60 FPS的速度播放3秒,但如果速度降至30 fps,动画也会变得非常慢。
幸运的是,解决这个问题相对简单。许多3D建模工具默认为每秒24帧,因此您的关键帧将以该比例翻译。如果您想要一秒的关键帧,将其放在帧24。对于两秒,使用帧48,依此类推。
通常,提供可配置的帧率,并且应在导入时注意帧率设置。
某些工具,如Maya,默认从帧1开始。如果您在帧1有关键帧,该关键帧的时间为1/24或0.041秒。编辑您的Maya动画设置,以从帧0或0/24 = 0秒开始动画。
在Qt Design Studio中,您除了指定动画的开始和结束帧外,还可以指定动画的持续时间。
形变动画
形变动画,如晶格和弯曲,Qt Design Studio不支持。但是,您可以通过将形变动画转换为支持FBX格式的混合形状动画来绕过这个限制。在导出动画之前,您需要将这些动作烘焙到关键帧中。
为动画烘焙动作
您需要对自定义曲线或对象约束来控制动画的动画进行动作烘焙。
我们建议使用3D图形工具中的导出面板来将动画烘焙到您将要导出的3D图形中。这将仅烘焙您的设置关键帧,而不是时间线上沿的每个单个关键帧。
操作 是包含动画数据的区块。如果您正在导出动画,则需要烘焙操作。
动画系统
3D建模工具提供高度复杂和专用的动画系统。无论何时可行,我们都建议使用Qt设计工作室的时间轴视图。这有助于在导入时保持网格信息清洁,并减少导入的网格动画与Qt设计工作室动画之间的冲突。
Qt设计工作室中的动画系统是Bezier关键的全实施,并且您可以使用3D建模工具创建的全集Bezier动画在Qt设计工作室中表示,由于支持的格式带来的限制,各种动画系统之间的极端差异得到了缓解。
材料和纹理
在导出3D图形之前,在3D图形工具中创建并分配材质槽。如果您添加了多个材质槽,则第一个被分配给对象。只有包含材质且分配到导出对象网格上的材质槽才会导入到Qt设计工作室。
如果对象没有分配材质槽,则在将资产导入Qt设计工作室时创建的组件将附加默认材质。
在模型上进行UV展开将创建一个UV布局。没有UV布局,您将无法在Qt设计工作室中渲染模型上的任何纹理。
根据3D图形工具的不同,有许许多多的方法和技术来展开3D网格。
光照
光照导入到Qt设计工作室。位置、旋转、缩放、亮度、光源颜色和投射阴影属性值得到保留。
如果光源类型不受Qt Quick 3D支持,则将其转换为支持的类型之一。
相机
透视和正交相机被导入到Qt设计工作室。位置、旋转和缩放属性值以及起始和结束裁剪值得到保留。对于透视相机,视图场值也得到保留。
节点层次结构
Qt设计工作室支持导入层次结构信息。支持任意深度的层次结构,包括分组节点。层次变换按预期应用。
在特定的Qt许可证下可用。
了解更多。