0

我正在尝试在场景包中制作跟随相机。我才刚刚开始,所以请多多包涵。我有一个节点 ( robotNode) 并试图让相机跟随机器人。我通过将相机添加为机器人的子节点部分实现了这一点:

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

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

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

我怎样才能让它继续跟随节点?

4

1 回答 1

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;
于 2015-11-22T21:41:10.563 回答