2

当使用带有 的相机时myCameraNode.camera.usesOrthographicProjection = YES;,据我所知,您无法像通常使用 给出的默认控件myScene.allowsCameraControl = YES;那样进行缩放 – 我可以判断的唯一缩放方法是更改myCameraNode.scale = (SCNVector3*)...

有没有办法以某种方式将滚轮绑定到这个比例参数,同时保留标准的相机控制旋转/平移?或者以其他方式“修复”默认相机控件?

编辑:我想我误解了相机的工作原理。两指缩放手势仍然适用于正交投影,但似乎它只能让我缩小而不能让我进一步放大。我怀疑它可能myCameraNode.scalescale我的对象越大越小)。

4

1 回答 1

1

内置的相机控件SCNView非常基本,可能最好仅用于调试。对于制作应用程序,最好自己控制相机,尤其是在使用正交投影时。设置您自己的事件处理来控制orthographicScale相机的属性,然后您就设置好了。


评论跟进:

scaleon 属性控制一个节点的SCNNode内容相对于它的父节点有多大——它是一个坐标空间变换,就像rotationand一样position。它并不适合实现相机变焦。在透视投影中,您使用相机的xFov和/或yFov属性进行缩放(我认为这就是内置相机控件所做的)。API 没有定义控件对正交相机的作用,因此您观察到的有关其行为的任何内容都可能是未定义的,并且可能是一个错误……您可能无法依靠它保持这种状态。

如果您希望内置相机控件处理更多内容,我建议您提交增强请求

于 2014-02-20T17:50:41.760 回答