【问题标题】:Is there a way I can let the camera zoom but not rotate?有没有办法让相机变焦但不旋转?
【发布时间】:2015-02-21 00:08:04
【问题描述】:

有没有办法让 SceneKit 的相机缩放但不旋转?以及如何界定用户可以使用相机进行的最大和最小缩放?

【问题讨论】:

    标签: objective-c swift scenekit


    【解决方案1】:

    这取决于您所说的缩放的含义——如果您的意思与“缩放”相机镜头相同,您需要修改SCNCamerayFovxFov(视野)属性目的。相机保持在完全相同的位置,但会像变焦镜头一样改变其视野。

    我看不到如何在缩放时旋转相机 - 我需要了解更多关于您在何处使用相机的背景信息。如果你不触摸相机所连接的SCNNode,你就不可能旋转它。

    【讨论】:

      【解决方案2】:

      您说的是allowsCameraControl 的用户相机移动,对吗?我不认为这真的是一个复杂的用户相机移动方案的基础,更多的是一个简单的调试辅助工具。如果您真的想很好地控制用户如何移动相机,最好创建自己的相机节点并移动它/更改其属性以响应您想要处理的任何用户输入(手势识别器、游戏控制器、等)。

      我想您可以通过实现场景渲染器委托willRenderScene 方法来约束自动用户相机。您必须获取当前的pointOfView 节点,检查其位置和相机参数,如果它们超出您想要的任何范围,请更改它们。但是 A) 我不确定这是否可行,并且 B) 这可能不是一个好主意——这有点像弄乱系统控制类的内部视图层次结构。

      【讨论】:

        猜你喜欢
        • 2011-08-02
        • 1970-01-01
        • 1970-01-01
        • 2018-08-01
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多