SceneKit跟随相机?
SceneKit follow camera?
我正在尝试在 scenekit 中制作一个跟随相机。我才刚刚开始,所以请多多包涵。我有一个节点 (robotNode
) 并试图让相机跟随机器人。我通过将相机添加为机器人的子节点来部分实现了这一点:
cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
[robotNode addChildNode:cameraNode];
// place the camera
cameraNode.position = SCNVector3Make(0, 0, 10);
但问题是当我开始旋转相机时,它不再跟随节点了。看这里:
如何让它继续关注节点?
您所写的内容将在距机器人固定距离处创建一个摄像头节点,但您没有采取任何措施来控制摄像头指向的位置。
创建一个目标为机器人节点的SCNLookAtConstraint。将其附加到相机节点。
// warning, written in browser, untested
SCNLookAtConstraint *robotStare = [SCNLookAtConstraint lookAtConstraintWithTarget:robotNode];
// and maybe also
robotStare.gimbalLockEnabled = YES;
cameraNode.constraints = @[robotStare];
// OP added this, to make camera follow node. I'm skeptical.
cameraNode.camera.usesOrthographicProjection = YES;
我正在尝试在 scenekit 中制作一个跟随相机。我才刚刚开始,所以请多多包涵。我有一个节点 (robotNode
) 并试图让相机跟随机器人。我通过将相机添加为机器人的子节点来部分实现了这一点:
cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
[robotNode addChildNode:cameraNode];
// place the camera
cameraNode.position = SCNVector3Make(0, 0, 10);
但问题是当我开始旋转相机时,它不再跟随节点了。看这里:
如何让它继续关注节点?
您所写的内容将在距机器人固定距离处创建一个摄像头节点,但您没有采取任何措施来控制摄像头指向的位置。
创建一个目标为机器人节点的SCNLookAtConstraint。将其附加到相机节点。
// warning, written in browser, untested
SCNLookAtConstraint *robotStare = [SCNLookAtConstraint lookAtConstraintWithTarget:robotNode];
// and maybe also
robotStare.gimbalLockEnabled = YES;
cameraNode.constraints = @[robotStare];
// OP added this, to make camera follow node. I'm skeptical.
cameraNode.camera.usesOrthographicProjection = YES;