Qt Quick 3D
Qt Quick 3D 通过 Qt Quick 提供用于创建 3D 内容和 3D 用户界面的高级 API。它不是使用外部引擎,这会产生同步问题和额外的抽象层,而是提供了对现有的 Qt Quick 场景图 扩展,用于空间内容和一个用于扩展场景图的渲染器。在使用空间场景图时,可以混合 Qt Quick 2D 内容与 3D 内容。
使用模块
QML API
模块的 QML 类型可以通过 QtQuick3D
引入使用。要使用这些类型,请在您的 .qml 文件中添加以下引入语句
import QtQuick3D
以下模块引入提供了额外功能
import QtQuick3D.AssetUtils import QtQuick3D.Helpers import QtQuick3D.Particles3D
C++ API
使用 Qt 模块的 C++ API 需要在模块库中对齐,不论是直接还是通过其他依赖。几个构建工具都有专门的支持,包括 CMake 和 qmake。
使用 CMake 构建
使用 find_package()
命令在 Qt6
包中定位所需的模块组件
find_package(Qt6 REQUIRED COMPONENTS Quick3D)
target_link_libraries(mytarget PRIVATE Qt6::Quick3D)
有关更多详细信息,请参阅 使用 CMake 构建 概述。
使用 qmake 构建
为使用 qmake 构建配置模块,将模块添加到项目 .pro 文件中 QT
变量的值中
QT += quick3d
从源代码构建
从源代码构建时,请确保首先构建来自 qtdeclarative 和 qtshadertools 仓库的模块和工具,因为如果缺少这些功能则无法使用 Qt Quick 3D。同时,强烈建议拥有 qtquicktimeline,因为否则关键帧动画将不可用。
此外,一些示例还依赖于 Qt Quick Controls。
模块演变
Qt Quick 3D 的变更 列出了为 Qt 6 系列的 Qt 实现的模块 API 和功能的重要变更。
文章和指南
- Qt Quick 3D 简介示例
- 具有 glTF 资产的 Qt Quick 3D 简介
- Qt Quick 3D 图形需求
- Qt Quick 3D 架构
- Balsam 资产导入工具
- 优化 3D 资产
- 基于物理的渲染
- 使用基于图像的照明
- 抗锯齿最佳实践
- 包含 2D 内容的 Qt Quick 3D 场景
- 可编程材料、效果、几何形状和纹理数据
- 构建时材料
- 骨架动画
- 形变动画
- 实例渲染
- 细节级别
- 自定义材料编辑器
- 光照贴图和全局照明
示例
- 简介
- 具有多个视图的View3D
- 灯光和阴影
- 动态模型创建
- 物质原则
- 内置效果和色调映射
- 3D场景中的Qt Quick项
- 自定义材料
- 无阴影的自定义材料
- 编写自定义后期处理效果
- 从C++中添加自定义几何形状
- 从C++中添加自定义纹理数据
- 使用烘焙光照贴图
- 所有示例
参考
- Qt Quick 3D QML类型
- Qt Quick 3D C++类
- Qt Quick 3D助手QML类型
- Qt Quick 3D资产工具QML类型
- Qt Quick 3D Particles3D QML类型
相关模块
Qt学院课程
- Qt Quick 3D:动画
- Qt Quick 3D:资产和资源
- Qt Quick 3D:自定义材料、渲染设置和后期处理
- Qt Quick 3D:交互和管理性能
- Qt Quick 3D:照明和相机
- Qt Quick 3D:视图、场景和节点
许可证和贡献
Qt Quick 3D可以在Qt公司的商业许可下获得。另外,它可根据GNU通用公共许可证,版本3获得。有关更多信息,请参阅Qt许可证。
此外,Qt Quick 3D可能包含以下宽容许可下的第三方模块
MIT许可证 | |
MIT许可证 | |
Apache许可证2.0 | |
BSD 3项“新”或“修订”许可证 | |
BSD 3项“新”或“修订”许可证 | |
MIT许可证 | |
MIT许可证 |
© 2024 The Qt Company Ltd. 本文件中包含的文档贡献均为各自所有者的版权。此处提供的文档根据GNU自由文档许可证版本1.3的条款获得许可,由自由软件基金会发布。Qt及其相关标识是The Qt Company Ltd在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。