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

未完待续

相关推荐
小小鱼儿小小林4 小时前
用AI制作黑神话悟空质感教程,3D西游记裸眼效果,西游人物跳出书本
人工智能·3d·ai画图
爱凤的小光18 小时前
图漾相机——Sample_V2示例程序(待补充)
3d·图漾相机
那就举个栗子!20 小时前
3DGS-to-PC:3DGS模型一键丝滑转 点云 or Mesh 【Ubuntu 20.04】【2025最新版!!】
3d·三维重建
懒羊羊我小弟20 小时前
使用 ECharts GL 实现交互式 3D 饼图:技术解析与实践
前端·vue.js·3d·前端框架·echarts
龙湾开发1 天前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 09.天空和背景
c++·笔记·学习·3d·图形渲染
施努卡机器视觉2 天前
Alpha3DCS公差分析系统_国产替代的3D精度管控方案-SNK施努卡
3d
那年一路北2 天前
多视图密集对应学习:细粒度3D分割的自监督革命
3d
sunbyte2 天前
Three.js + React 实战系列 - 职业经历区实现解析 Experience 组件✨(互动动作 + 3D 角色 + 点击切换动画)
javascript·react.js·3d
球球和皮皮2 天前
Babylon.js学习之路《一、初识 Babylon.js:什么是 3D 开发与 WebGL 的完美结合?》
javascript·3d·前端框架·ar·vr
前端小崔2 天前
从零开始学习three.js(15):一文详解three.js中的纹理映射UV
前端·javascript·学习·3d·webgl·数据可视化·uv