Qt6 QML Book/Qt Quick 3D/小结

本文介绍了如何利用QtQuick3D将3D模型从Blender等工具导入QML,实现3D渲染和交互,并探讨了QML在场景构建中的作用,以及C++与QML间的绑定。深入讲解了高级概念和技术,如自定义滤镜和动态生成网格,以及优化性能的方法。

Summary

小结

Qt Quick 3D offers a rich way of integrating 3D contents into a Qt Quick scene, allowing a tight integration through QML.

Qt Quick 3D提供了一种将3D内容集成到Qt Quick场景的丰富方法,允许通过QML进行紧密集成。

When working with 3D contents, the most common approach is to work with assets created in other tools such as Blender, Maya, or 3ds Max. Using the Balsam tool it is possible to import meshes, materials, as well as animation skeletons, from these models into QML. This can then be used to render, as well as interacting with the models.

使用3D内容时,最常见的方法是使用在其他工具(如Blender、Maya或3ds Max)中创建的资源。使用Balsam工具,可以将网格、材质以及动画骨架从这些模型导入QML。然后可以使用它进行渲染,以及与模型交互。

QML is still used to setup the scene, as well as instantiating models. This means that a scene can be built in an external tool, or be instantiated dynamically from QML using elements created using external tool. In the most basic cases, scenes can also be created from the built in meshed that come with Qt Quick 3D.

QML仍然用于设置场景以及实例化模型。这意味着可以在外部工具中构建场景,或者使用使用外部工具创建的元素从QML动态实例化场景。在最基本的情况下,也可以从Qt Quick 3D附带的内置网格创建场景。

By allowing the tight integration of Qt Quick's 2D contents, and Qt Quick 3D, it is possible to create modern and intuit user interfaces. With QML's ability to bind C++ properties to QML properties, this makes it easy to connect 3D model state to underlying C++ state.

通过允许Qt Quick的2D内容和Qt Quick 3D的紧密集成,可以创建现代和直观的用户界面。由于QML能够将C++属性绑定到QML属性,因此很容易将三维模型状态连接到底层C++状态。

In this chapter we've only scratched the surface of what is possible using Qt Quick 3D. There are more advanced concepts ranging from custom filters and shaders, to generating meshes dynamically from C++. There is also a large set of optimization techniques that can be used to ensure good rendering performance of complex 3D contents. You can read more about this in the Qt Quick 3D Reference Documentation.

在本章中,我们仅介绍了使用Qt Quick 3D可能实现的功能。还有更高级的概念,从自定义过滤器和着色器,到从C++动态生成网格。还有大量优化技术可用于确保复杂3D内容的良好渲染性能。您可以在Qt Quick 3D Reference文档中了解更多信息。

        你是否想用 Python 打造专业桌面客户端?你是否在寻找一门系统全面、案例实战驱动的 QtQuick 视频教程?这门课程就是为你量身定制的!  本课程通过 10大模块、多个实战项目,手把手带你掌握 PySide6 + QtQuick 的核心开发技能,最终实现一个高度还原的「剪映」客户端。无论你是 Python 爱好者,还是 Qt 桌面开发者,这门课都能帮你快速提升!课程亮点一览全平台开发环境搭建(Win11 & macOS)掌握 QML 常用控件与布局深入理解 Python 与 QML 的双向交互掌握 QML 动画与 Canvas 绘图模型-视图-代理 MVD 编程模式玩转 QtQuick3D,轻松构建3D场景完整项目实战:高仿剪映 PC 客户端课程总结+进阶学习路线指导课程章节介绍第1章:开发环境全攻略  从零配置开发环境:Miniconda 安装、PySide6 配置、PyCharm & VS Code 开发调试、macOS 与 Win11 跨平台部署,让你轻松开始 QtQuick 编程之旅!第2章:QML 核心控件全面掌握  掌握 Item、Window、ApplicationWindow 等窗口根对象,文本/图片/按钮、CheckBox、RadioButton、ComboBox、SpinBox等控件的使用,还将实现一个视频进度调节的 Slider与视频播放控件。第3章:布局系统与组件机制  详细讲解行列布局、栅格布局、流式布局、Component、Loader、Repeater 等关键概念,最后实现一个综合案例:自定义电池控件。第4章:Python × JS × QML 高效交互  系统讲解 Python 注册 QML 的四种方式、QML 调用 Python 方法、信号槽机制、值绑定、鼠标/键盘事件处理,让你实现Python 与前端 QML 的无缝通信!第5章:QML 动画系统实战  掌握缩放、旋转、State 状态切换、NumberAnimation 数值动画、Behavior 行为动画、动画控制启动与停止 —— 为你的应用增添高级动态体验!第6章:模型-视图-代理 MVD 精讲  详细解析 ListView、GridView、TableView 等复杂控件使用,配合 DelegateChooser 实现高灵活的代理渲染效果,助力你构建数据驱动的 UI 界面。第7章:Canvas 绘图:打造炫酷 UI  深入 Canvas 编程,绘制路径、圆弧、文本,并结合项目案例,开发一个动态汽车仪表盘,提升界面表现力!第8章:QtQuick3D:迈入三维开发  从 View3D 的基本使用到复杂属性控制,掌握材质、纹理、光照、天空盒、实例化渲染等核心内容,最终完成两个3D项目:3D 茶壶 与 3D 多形态机器人!第9章:项目实战:高仿剪映 PC 客户端  将前面所学内容应用于真实项目,完整实现一个桌面级视频编辑客户端,真正做到学以致用。项目截图如下:  首页  剪辑主窗口  导出窗口第10章:课程总结与进阶建议  回顾全程知识点,规划你的 QtQuick 技术进阶路线,让你少走弯路,技能持续成长!适合人群想快速入门 QtQuick 桌面开发的 Python 开发者有 PyQt / C++ Qt 基础,想转向更现代的 PySide6/QML 开发者UI 工程师、工具开发人员、开源爱好者对剪映客户端等专业项目实现感兴趣的进阶程序员你将获得230页精美课件完整的源代码 & 项目素材持续更新答疑 & 技术支持结课后具备独立构建 QtQuick 应用的能力不止是教程,更是一次实战成长之旅!  立即加入课程,掌握 PySide6 QtQuick 开发的核心技能,开启你的桌面应用进阶之路!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值