当前位置: 首页 > article >正文

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模型材质数据
  • Node  3D场景中存在的对象的基础组件
  • PerspectiveCamera 3D场景中的透视相机(提供场景的真实投影)
  • OrthographicCamera 3D场景中的正交投影矩阵的相机
  • Joint 定义骨骼动画层次结构中的节点

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

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


 

学前知识

三维坐标系和旋转方向

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

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

未完待续


http://www.kler.cn/a/153223.html

相关文章:

  • LeetCode:2661. 找出叠涂元素(C++、Java)
  • 人工智能基础创新的第二增长曲线
  • 大数据中的HBase的选择题
  • oops-framework框架 之 创建项目(二)
  • 机器学习常用距离度量方法
  • 设计模式-结构型模式之桥接设计模式
  • Android 12.0 Launcher3定制化之folder文件夹去掉背景功能实现
  • 【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。
  • 一种LED驱动专用控制电路方案
  • C语言面试之旅:掌握基础,探索深度(面试实战之c语言内存下篇)
  • mysql学习记录
  • VR全景对旅游业有什么帮助,如何助力旅游业实现新的旅游形式
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • Kubernetes 使用插件扩展 kubectl
  • 函数声明后的“ - >”是什么?
  • 到底什么是yocto(yocto是什么)
  • Non-local KDE 如何应对类似于AIS的数据?
  • nodejs+vue+elementui网上家电家用电器数码商城购物网站 多商家
  • 【Android面试|华为|广播类】-Local Broaddcasts 能接收到系统广播么?
  • MySQL的系统信息函数