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

未完待续

相关推荐
twe77582581 天前
从极限测试到3D动画:揭开CCP-RIE的隐秘面纱
科技·3d·制造·动画
zl_vslam1 天前
SLAM中的非线性优-3D图优化之IMU预积分SE3推导(二十一)
人工智能·算法·计算机视觉·3d
sin°θ_陈1 天前
前馈式3D Gaussian Splatting 研究地图(路线一):像素对齐高斯的起点——pixelSplat 与 latentSplat 在解决什么
python·深度学习·3d·aigc·webgl·3dgs·空间智能
2401_863801462 天前
GLTF 与 GLB:哪种格式适合你的 3D 项目
3d
Yao.Li2 天前
PLY 文件格式与 PVN3D 中的使用说明
3d
在下胡三汉2 天前
3D文件格式,适用于3D商务、社交等领域,各种3D三维格式介绍
3d
CG_MAGIC2 天前
硬表面建模布线逻辑:机械与道具通用规范
3d·blender·贴图·效果图·建模教程
在下胡三汉2 天前
GLB 和 GLTF 格式文件:3D 建模服务中的目的、差异与应用领域
3d
xwz小王子2 天前
Science Advances--3D打印新型触觉传感器,让机器人拥有人类级灵巧操作能力
3d·机器人
3DVisionary2 天前
复杂工况下的力学透视:三维全场动态变形视觉检测系统解析金属3D打印
人工智能·3d·视觉检测·增材制造·轻量化结构·全场动态变形监测·复杂工况测试