场景Kit物理引擎跟随滚动球

3

我希望在苹果的SceneKit中跟随一个旋转的球体。我已经将LookAt约束添加到相机上,当球体下落时,相机始终指向它,但如果球体滚开,相机会停留在当前位置。 我想让相机像第三人称射击游戏一样跟随这个球,并与之保持预定义的距离。如果我将相机设置为球体的子节点,则相机会在球体滚动时“围绕”它旋转。 有什么办法可以让相机跟随球体移动吗?


你可以让在节点上运行的所有操作也在相机上运行,但这并不是一种非常方便的方式。 - LinusGeffarth
1个回答

1
很简单。每一帧只需将相机节点的位置改变为球的presentationNode加上一个偏移量,以避免在其中。

我对Swift不是很熟悉,但代码大致如下:

func renderer(aRenderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: NSTimeInterval){
    var ballP = ballNode.presentationNode.position
    // Offset the camera up and on X:
    var cameraP = SCNVector3(x: ballP.x+5, y: ballP.y+10, z: ballP.z)
    cameraNode.position = cameraP       
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接