Qt Quick 3D - View3D 示例
演示了如何使用 View3D 从多个相机展示场景。
本示例演示了在一个应用中使用四个单独的 View3D 并使用不同的相机。
定义摄像头
首先,我们定义 摄像头。我们将定义几个不同的摄像头,尽管我们只添加 4 个视图。我们这样做是因为我们想要能够切换其中一个视图中的摄像头。
摄像头必须在根 节点 内定义。这是摄像头定义的方式
Node { id: standAloneScene ... // The predefined cameras. They have to be part of the scene, i.e. inside the root node. // Animated perspective camera Node { PerspectiveCamera { id: cameraPerspectiveOne z: 600 } PropertyAnimation on eulerRotation.x { loops: Animation.Infinite duration: 5000 to: -360 from: 0 } } // Stationary perspective camera PerspectiveCamera { id: cameraPerspectiveTwo z: 600 } ... // Stationary orthographic camera viewing from left OrthographicCamera { id: cameraOrthographicLeft x: -600 eulerRotation.y: -90 } }
添加视图
在定义了摄像头之后,我们可以添加 视图。我们将屏幕分为四部分,并且逐一添加视图
// The views Rectangle { id: topLeft anchors.top: parent.top anchors.left: parent.left width: parent.width * 0.5 height: parent.height * 0.5 color: "#848895" border.color: "black" View3D { id: topLeftView anchors.fill: parent importScene: standAloneScene camera: cameraOrthographicFront } Label { text: "Front" anchors.top: parent.top anchors.left: parent.left anchors.margins: 10 color: "#222840" font.pointSize: 14 } } ...
右上角的视图中有三个按钮。这些按钮可以在运行时切换该视图中使用的摄像头。切换是通过设置摄像头属性来完成的
RoundButton { text: "Camera 1" highlighted: topRightView.camera == cameraPerspectiveOne onClicked: { topRightView.camera = cameraPerspectiveOne } } ...
文件
© 2024 The Qt Company Ltd. 本文件中所包含的文档贡献由其各自的所有者拥有著作权。本文档是根据 Free Software Foundation 发布的 GNU Free Documentation License 第 1.3 版 的条款许可的。Qt 和相关商标是 The Qt Company Ltd. 在芬兰以及世界其他国家的商标。所有其他商标均为其各自所有者的财产。