使用SceneKit在场景中移动3D模型时,摄像机阳极的行为不明确 [英] Behavior of the cameranode is unclear when moving a 3D model in a scene with sceneKit

查看:0
本文介绍了使用SceneKit在场景中移动3D模型时,摄像机阳极的行为不明确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我设置场景时,摄像机的位置如下:

    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    scene?.rootNode.addChildNode(cameraNode)
    cameraNode.position = SCNVector3(x: 0, y: 0, z: 20)
我的(显然是错误的)假设是,当用户开始移动或缩放3D模型时,这些位置数据将会改变。这意味着实际上3D模型并没有改变其位置,而只是改变了(摄像机的)视点。

但是,我注意到初始数据永远不会更改,并且我无法以编程方式检测用户是否放大或缩小等。

如果有人能解释一下SceneKit在这里使用的逻辑,以及我是否可以推导出3D模型(或相机?)是否使用其他方法更改位置?

推荐答案

documentation for allowsCameraControl提到开箱即用的摄像头控制机制不修改场景图:

如果将此属性设置为True,则SceneKit将创建一个相机节点并处理鼠标或触摸事件,以允许用户平移、缩放和旋转其场景视图。(启用用户摄像机控制不会修改场景图中已存在的摄像机对象或包含这些对象的节点。)

这篇关于使用SceneKit在场景中移动3D模型时,摄像机阳极的行为不明确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆