1.qml-3D入门讲解介绍

本章我们来学习QML 3D教程,QML 3D能够支持windows linux等多平台跨平台并且显示效果大部分一致,非常方便,学习的qt版本最低为qt6.5

要使用qml 3D类,需要导入QtQuick3D模块。

这是使用空间渲染器和场景图的 QML 前端。目前,所有 3D 内容都会通过FBO进行纹理绑定和绘制,以便它们可以组合成 Qt Quick 场景(作为QQuickItem)。

QtQuick3D模块中有我们使用的很多类。

常用的如下所示(本章和后面章节都会讲解):

  • View3D提供用于渲染 3D 场景的视口
  • Texture定义用于 3D 场景的纹理
  • DirectionalLight定义场景中的平行光
  • SpotLight定义场景中的聚光灯
  • Model 3D模型材质数据
  • Node3D场景中存在的对象的基础组件
  • PerspectiveCamera 3D场景中的透视相机(提供场景的真实投影)
  • OrthographicCamera 3D场景中的正交投影矩阵的相机
  • Joint 定义骨骼动画层次结构中的节点

除了QtQuick3D模块外,qml还提供了以下几个辅助模块(后面章节会详解):

  • QtQuick3D.AssetUtils: 动态加载3D资源相关的模块
  • QtQuick3D.Helpers : 辅助模块,包含WasdController类型(使用wasd按键和鼠标控制节点位置和方向)、AxisHelper(显示xyz轴和网络格)等等
  • QtQuick3D.Particles3D: 3D粒子系统模块,和qml中2D粒子类似,多了一个z轴方向。

学前知识

三维坐标系和旋转方向

接触模型时,会经常纠结xyz方向,初学者可能会比较难记住,可以通过如下图所示方便确定方向:

旋转方向则可以通过右手的方式来判断,默认angle正方向如下图所示:

未完待续

相关推荐
三维频道6 小时前
深度解析:3D-DIC技术如何精准表征复合材料的变形与损伤演化?
人工智能·计算机视觉·3d·全场应变测量·dic技术·新拓三维·复合材料力学表征
DisonTangor9 小时前
【阿里拥抱开源】LingBot-Map:用于流式3D重建的几何上下文转换器
机器学习·3d·机器人·开源
wei_shuo9 小时前
零门槛开发 3D 数字人:魔珐星云开放平台接入实战
3d·数字人·魔珐星云
神探小白牙10 小时前
3D饼图,带背景图和自定义图例(threejs)
开发语言·前端·javascript·3d·vue
天人合一peng10 小时前
Unity 3D 电脑端和手机端都实现画线与清除功能
3d·unity·智能手机
kobesdu10 小时前
当几何失效时:3D激光SLAM退化场景的本质与应对策略
人工智能·机器学习·3d
木斯佳10 小时前
HarmonyOS 数据可视化实战:封装一个可复用的 3D 热点词球卡片组件
3d·信息可视化·harmonyos
代数狂人1 天前
《深入浅出Godot 4与C# 3D游戏开发》第二章:编辑器导航
3d·编辑器·游戏引擎·godot
VBsemi-专注于MOSFET研发定制1 天前
高端汽车零部件尺寸3D检测设备功率MOSFET选型方案:精密高效运动与成像电源驱动系统适配指南
3d·汽车
threelab1 天前
从工厂模式到简化封装:三维引擎架构演进之路 threejs设计
javascript·3d·架构·webgl