SceneKit跟着相机?

时间:2015-11-22 01:24:49

标签: objective-c cocoa camera scenekit scnnode

我正在尝试在scenekit中制作一个跟随相机。我刚刚开始,所以尽量忍受我。我有一个节点(robotNode),我正试图让摄像机跟随机器人。通过将相机添加为机器人的子节点,我已经部分地实现了这一点:

cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
[robotNode addChildNode:cameraNode];

// place the camera
cameraNode.position = SCNVector3Make(0, 0, 10);

但问题是当我开始旋转相机时,它不再跟随节点。看这里: cameraNodeImage

如何让它继续关注节点?

1 个答案:

答案 0 :(得分:1)

你所写的内容会创建一个距离机器人固定距离的摄像机节点,但是你没有采取任何措施来控制摄像机指向的位置。

创建一个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;