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正方向如下图所示:

未完待续

相关推荐
mahuifa3 小时前
(46)VTK C++开发示例 --- 加载CML文件
c++·3d·vtk·cml
90后小陈老师5 小时前
Unity教学 项目3 3D坦克大战
3d·unity·游戏引擎
元让_vincent5 小时前
论文Review 点云配准综述 | 西北工业大学 | 3D Registration in 30 Years: A Survey | (一) 帧间粗配准
3d·机器人·slam·点云配准
元让_vincent6 小时前
论文Review 3DGS综述 | 浙江大学 | A Survey on 3D Gaussian Splatting |(一)稀疏视角和内存压缩
3d·综述·3dgs
F_D_Z7 小时前
DreamDPO:通过直接偏好优化,实现文本到3D的偏好对齐
3d·dpo
3D打印资源库7 小时前
官宣:汇纳科技收购华速实业;融速科技完成A+轮融资;3D打印单季破40亿美元|库周报
人工智能·科技·3d
AI视觉网奇7 小时前
图生3d 人脸 算法笔记 2025
笔记·3d
二狗哈8 小时前
Cesium快速入门21:Primitive材质类型与设置
3d·webgl·材质·cesium·地图可视化
90后小陈老师9 小时前
Unity教学 项目4 3D求生枪手
3d·unity·游戏引擎
做cv的小昊9 小时前
计算机图形学:【Games101】学习笔记04——着色(光照与基本着色模型,着色频率、图形管线、纹理映射)
笔记·学习·3d·图形渲染·光照贴图·计算机图形学