Scene2D QML 类型

此类型允许将 QML 渲染到纹理中,然后可以作为 3D 场景的一部分使用。更多...

导入语句import QtQuick.Scene2D 2.7
实例化 QScene2D

属性

详细描述

此对象使用 RenderControl 将给定的项渲染到一个离屏表面,该表面连接到用户提供的纹理。这允许组件直接将纹理渲染到纹理中,而不需要中间复制,并且用户可以自由指定如何在 3D 场景中使用纹理。

使用 Scene2D 的实体可以与该类型相关联,以实现与项的交互;如果实体具有 ObjectPicker 组件,则将从该拾取器发送拾取事件到 Scene2D,并将其转换为鼠标事件,最后发送到项。

注意:仅支持鼠标事件。项不支持键盘输入。

用法

Entity {
    id: sceneRoot

    // specify Scene2D inside the entity hierarchy
    Scene2D {
        // specify output
        output: RenderTargetOutput {
            attachmentPoint: RenderTargetOutput.Color0
            texture: Texture2D {
                id: textureId
                width: 1024
                height: 1024
                format: Texture.RGBA8_UNorm
            }
        }
        // specify entities
        entities: [entityId]

        // specify rendered content
        Rectangle {
            color: "red"
        }
    }

    Entity {
        id: entityId

        property Material material: TextureMaterial {
            texture: textureId
        }
        property ObjectPicker picker: ObjectPicker {
            hoverEnabled: true
            dragEnabled: true
        }
        ...

属性文档

entities : list<Entity>

包含与 Scene2D 对象相关联的实体列表。如果实体具有 ObjectPicker,则将该实体的拾取事件发送到 Scene2D 并将其转换为鼠标事件。


item : Item

包含由 Scene2D 渲染到纹理的项。


mouseEnabled : bool

包含是否启用了渲染项的鼠标事件。鼠标事件由添加到 Scene2D 的实体拾取事件生成。默认启用鼠标。

注意:由于在后端发生对象拾取,发送到项的事件将延迟一帧。


包含 RenderTargetOutput,该元素指定了 Scene2D 绘制的位置。


renderPolicy : 枚举

包含此 Scene2D 的渲染策略。

  • 连续模式 Scene2D 持续渲染。这是默认的渲染策略。
  • 单次渲染 Scene2D 仅将一次渲染到纹理中,之后分配给渲染的资源将释放。

© 2024 Qt公司有限公司。此处包含的文档贡献为其各自所有者的版权。所提供的文档根据 Free Software Foundation 发布的 GNU自由文档许可证版本1.3 的规定进行许可。Qt及其相关标志是芬兰及其它全球国家的商标,所有权属于 Qt公司有限公司。所有其他商标均为各自所有者的财产。