本页内容

OrbitCameraController QML Type

围绕原点旋转的摄像机控制器。更多...

Import Statement: import QtQuick3D.Helpers
Inherits:

Item

属性

详细说明

该辅助类提供了一种围绕原点旋转摄像机的方法。要使用该功能,OrbitCameraController 需要一个作为原点的 Node,以及一个作为要控制的摄像机对象(该摄像机应为原点节点的子节点)。 仅通过调整子摄像机相对于父节点原点的 z 轴位置,即可实现摄像机向目标原点靠近或远离的效果。通过对原点节点进行旋转,子摄像机将围绕该原点节点进行环绕运动。

OrbitCameraController 项本身是一个 2D 项,它会接收输入事件,因此无论其大小和位置如何,接收输入事件的位置都将保持不变。要进行缩放,请使用鼠标滚轮或执行捏合手势。要旋转,请点击或触摸并拖动该区域。 要平移,请按住 Ctrl 键并拖动该区域。平移会改变原点节点的位置。也可以通过双指拖动来执行平移手势。

View3D {
    camera: cameraNode
    Node {
        id: originNode
        PerspectiveCamera {
            id: cameraNode
            z: 100
        }
    }
    OrbitCameraController {
        anchors.fill: parent
        origin: originNode
        camera: cameraNode
    }
    ...
}

属性文档

acceptedButtons : Qt::MouseButtons [default: Qt.LeftButton, since 6.9]

指定用于控制摄像头的鼠标按钮。

该属性于 Qt 6.9 版本中引入。

automaticClipping : bool [default: true, since 6.9]

启用根据摄像机的 z 位置自动更新camera 的clipNear 和l{PerspectiveCamera::}{clipFar}属性。

该属性在 Qt 6.9 中引入。

camera : QtQuick3D::Camera

指定要控制的摄像机节点。这是一个必填属性,且应为origin 节点的子节点。

mouseEnabled : bool [default: true]

启用鼠标控制。

origin : QtQuick3D::Node

指定要控制的源节点。这是一个必填属性,应为camera

panEnabled : bool [default: true]

启用平移控件。

xInvert : bool [default: false]

反转x轴控制。

xSpeed : real [default: 0.1]

指定沿 X 轴移动鼠标时的导航速度。

yInvert : bool [default: true]

反转 y 轴控制。

ySpeed : real [default: 0.1]

指定沿 Y 轴移动鼠标时的导航速度。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.