如何移动从Blender导入的节点

时间:2019-06-27 08:55:22

标签: scenekit blender

我试图在Scene Kit中移动动画3D模型(来自Blender)。

我可以使用以下代码旋转模型:

let ship = scene.rootNode.childNode(withName: "ship", recursively: true)! ship.skinner!.skeleton!.runAction(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1)))

但是此代码不会移动它:

ship.skinner!.skeleton!.runAction(SCNAction.repeatForever(moveForward))

此外,我无法将模型拖到.scn文件中(与其他未设置动画的模型不同)。我的动画模型似乎具有额外的属性: screenshot. 如何在空间中移动动画模型?

1 个答案:

答案 0 :(得分:0)

只要您的模型正确地加载到节点中,只需移动节点(或像您一样旋转它)即可,并且其行为就像其他节点一样。

moveForward的runAction.repeat将重复相同的动作-例如SCNVector3(5,0,0)-但每次都相同,因此一旦到达该位置,就不会再移动了。一些选项是循环运行它,并调用runAction moveTo并每次增加moveForward向量,或者使用物理引擎并添加速度等。