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 需要在模块库中对齐,不论是直接还是通过其他依赖。几个构建工具都有专门的支持,包括 CMakeqmake

使用 CMake 构建

使用 find_package() 命令在 Qt6 包中定位所需的模块组件

find_package(Qt6 REQUIRED COMPONENTS Quick3D)
target_link_libraries(mytarget PRIVATE Qt6::Quick3D)

有关更多详细信息,请参阅 使用 CMake 构建 概述。

使用 qmake 构建

为使用 qmake 构建配置模块,将模块添加到项目 .pro 文件中 QT 变量的值中

QT += quick3d

从源代码构建

从源代码构建时,请确保首先构建来自 qtdeclarativeqtshadertools 仓库的模块和工具,因为如果缺少这些功能则无法使用 Qt Quick 3D。同时,强烈建议拥有 qtquicktimeline,因为否则关键帧动画将不可用。

此外,一些示例还依赖于 Qt Quick Controls

模块演变

Qt Quick 3D 的变更 列出了为 Qt 6 系列的 Qt 实现的模块 API 和功能的重要变更。

文章和指南

示例

参考

Qt学院课程

许可证和贡献

Qt Quick 3D可以在Qt公司的商业许可下获得。另外,它可根据GNU通用公共许可证,版本3获得。有关更多信息,请参阅Qt许可证

此外,Qt Quick 3D可能包含以下宽容许可下的第三方模块

Godot引擎:雾

MIT许可证

Godot引擎:ProceduralSky

MIT许可证

Intel Embree,版本3.13.3

Apache许可证2.0

Open Asset导入库,版本5.4.1

BSD 3项“新”或“修订”许可证

Small OpenEXR,版本v1.0.8

BSD 3项“新”或“修订”许可证

meshoptimizer,版本v0.18

MIT许可证

xatlas,版本16ace528acd2cf1f16a7c0dde99c42c486488dbe

MIT许可证

© 2024 The Qt Company Ltd. 本文件中包含的文档贡献均为各自所有者的版权。此处提供的文档根据GNU自由文档许可证版本1.3的条款获得许可,由自由软件基金会发布。Qt及其相关标识是The Qt Company Ltd在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。