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

news2025/2/24 15:45:08

本章我们来学习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.coloradmin.cn/o/1285873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Linux上优化HTTP服务器的性能

在Linux上优化HTTP服务器的性能是一个涉及多个方面的任务,包括服务器硬件、网络设置、软件配置和内容优化。以下是一些关键的优化建议: 选择合适的HTTP服务器软件 Linux上有多种HTTP服务器软件,如Apache、Nginx、Lighttpd等。选择适合您需求…

做外贸会遇到的一些误区

很多时候,我们喜欢用大多数的情况去给客户提前下某种定义,当我们内心已经种下某种想法的时候,我们在对待事情的时候就会明显的不同。 但是事实上,其实每一个客户都是一个独特的存在,都是一个新的客户, 新的…

npm私有源构建项目下载依赖报错

Jenkins构建项目报错,依赖找不到 Error: Couldnt find any versions for "babel/helper-module-imports" that matches "^7.22.15"at MessageError.ExtendableBuiltin (/data1/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/…

关于清理系统错误内存转储文件的相关知识,看这篇文章就够了

当你的电脑崩溃,遇到类似蓝屏死机(BSOD)的情况时,Windows操作系统会将内存转储到硬盘上的某个位置。你可以删除这些系统错误内存转储文件以释放磁盘空间。 如何使用磁盘清理删除系统错误内存转储文件 如果内存转储文件随着时间的推移而增长,请删除该文件以恢复硬盘空间。…

文件下载保存接口的创建_FastAPI

文件下载保存接口的创建 功能描述实现代码功能演示 功能描述 在网页上对数据进行下载保存处理。例如点击网页上的保存按钮,会把文件下载到本地。下面就是对下载保存功能的实现。 实现代码 gpt_router.get("/export_data") async def export_data():# 需…

感觉到自己思想扭曲了

突然觉得自己思想有点扭曲。 ​起因是近期备婚,需要给男方家人买衣服。问男朋友妹妹衣服预算多少,说是500内,然后想想自己这个新娘子,那一身衣服绞尽脑汁凑满减不到300。再联想到装饰新房,新房买家具,为了省…

【性能测试】LR录制回放事务检查点

前言 上一次推文我们分享了性能测试分类和应用领域,今天带大家学习性能测试工作原理、事务、检查点!后续文章都会系统分享干货,带大家从0到1学会性能测试,另外还有教程等同步资料,文末免费获取~ 01、LR工作原理 ​通…

CentOS或RHEL安装code-server(vscode-web)

下载rpm安装包 网络下载或者下载到本地再上传到服务器,点击访问国内下载地址,不需要积分curl -fOL https://github.com/coder/code-server/releases/download/v4.19.1/code-server-4.19.1-amd64.rpm安装 rpm -i code-server-4.19.1-amd64.rpm关闭和禁用…

配电房一体化环境监控系统

配电房一体化环境监控系统是一种综合运用多种传感器、物联网、云计算、大数据等技术的智能化监控系统,依托电易云-智慧电力物联网,实现对配电房内环境、设备运行状态等信息的实时监测和预警,提高配电房的安全性和可靠性。以下是配电房一体化环…

C //例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。

C程序设计 (第四版) 谭浩强 例10.1 例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法:使用指针&…

CUDA简介, 配置和运行第一个CUDA程序(Windows和Linux)

CUDA简介 CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种通用并行计算架构。CUDA允许程序员利用NVIDIA GPU的并行计算能力,加速各种计算密集型应用程序。 CUDA技术基于GPU的并行计算原理。传统的CPU处理器拥有少量的核心&…

Zabbix自定义监控内容

自定义监控客户端服务器登录的人数 需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息 1.在客户端创建自定义key //明确需要执行的 linux 命令 who | wc -l//创建 zabbix 的监控项配置文件,用于自定义 key vim /etc/zabbix/zabbix_ag…

零基础入坑Python爬虫的全面学习指南

文章目录 首先爬虫是什么?1. Python学习2.Python urllib和urllib2 库的用法3.Python 正则表达式4.爬虫框架Scrapy爬虫基本原理关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工…

Shopee买家通系统自动下单更方便

Shopee购物平台的买家通系统为用户提供了一种便捷的自动下单方式,通过这一系统,用户可以轻松实现在虾皮平台购买商品的自动化操作。下面将介绍具体的操作流程,确保用户可以顺利完成整个购物流程。 首先,用户需要准备一个可用的虾皮…

(2/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)

附录 A1 - 《PMBOK指南》映射 表A1显示了第六版《PMBOK指南》中定义的项目管理过程组与知识领域之间的对应关系 本附录说明了如何利用混合和敏捷方法处理《PMBOK指南》知识领域(请参见表A1-2)中所述的属性,其中涵盖了相同和不同的属性&…

Apollo新版本Beta技术沙龙参会感受:未来的自动驾驶之旅

Apollo新版本Beta技术沙龙参会感受:未来的自动驾驶之旅 🚗💡 文章目录 Apollo新版本Beta技术沙龙参会感受:未来的自动驾驶之旅 🚗💡摘要引言正文📍 参会流程介绍🌟 参会收获&#x1…

力扣 790. 多米诺和托米诺平铺(一维dp)

题目描述: 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。 平铺指的是每个正方形都…

并行流(Parallel Streams)

并行流(Parallel Streams)是Java 8引入的一种并行处理集合数据的机制,它允许将操作并行化以提高处理速度。然而,并行流可能存在一些安全问题,特别是在多线程环境下。 以下是一些与并行流相关的安全问题: 共…

08、分析测试执行时间及获取pytest帮助

官方用例 # content of test_slow_func.py import pytest from time import sleeppytest.mark.parametrize(delay,(1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.0,0.1,0.2,0,3)) def test_slow_func(delay):print("test_slow_func {}".format(delay))sleep(delay)assert…

每日一练 | 华为认证真题练习Day142

1、路由器的主要功能,以下说法错误的是?(多选) A. 通过多种协议建立路由表 B. 根据路由表指导数据转发 C. 根据收到数据包的源IP地址进行转发 D. 实现相同网段设备之间相互通信 2、管理员发现无法通过TFTP传输文件到华为AR200…