gpt4 book ai didi

c++ - 缩放 Qt3D 的相机

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:18 25 4
gpt4 key购买 nike

如何为 Qt3D Camera 的 FOV 实现双指捏合手势处理?

FirstPersonCameraControllerOrbitCameraController 相机 Controller 来处理鼠标/触摸板事件。后者甚至有 zoomLimit 属性,但它的意思不是我需要缩放场景(从立方体贴图中,相机位置固定为 (0, 0, 0) ).我用的是前者。它可以正确处理鼠标拖动和单指触摸事件,但不能处理类似双指捏合的手势。

我能否以简单的方式自定义 PinchArea 以与 Qt3DCamera 交互?或者 Qt Quick 的 API 在这个意义上与 Qt3D 的 API 正交?

最佳答案

使用 PinchArea 的 pinchUpdated 事件查找有关 Pinch 的信息:根据文档

The pinch parameter provides information about the pinch gesture, including the scale, center and angle of the pinch. These values reflect changes only since the beginning of the current gesture, and therefore are not limited by the minimum and maximum limits in the pinch property.

所以你应该能够做这样的事情:

Camera {
id: myCamera
}

PinchArea {
onPinchUpdated: {
myCamera.fieldOfView = pinch.scale*someFactor
}
}

这可以在您拥有的任何可以访问 Pinch 和 Camera 的自定义 QML 中完成。如果它是自定义脚本,您可以将相机作为属性传递

property Camera myCamera

关于c++ - 缩放 Qt3D 的相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com