如何移动从 Blender 导入的节点
Posted
技术标签:
【中文标题】如何移动从 Blender 导入的节点【英文标题】:How to move a node imported from Blender 【发布时间】:2019-11-09 06:18:11 【问题描述】:我正在尝试在 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. 如何在空间中移动我的动画模型?
【问题讨论】:
0 我没有在所需对象(骨架)上运行动作。 【参考方案1】:只要您的模型正确加载到节点中,只需移动节点(或像您一样旋转它),它的行为就与其他节点一样。
moveForward 的 runAction.repeat 将重复相同的动作 - 比如说 SCNVector3(5, 0, 0) - 但每次都是一样的,所以一旦它到达那里,它就不会再移动了。一些选项是循环它并调用 runAction moveTo 并每次增加你的 moveForward 向量,或者使用物理引擎并添加速度等。
【讨论】:
以上是关于如何移动从 Blender 导入的节点的主要内容,如果未能解决你的问题,请参考以下文章
Unity 2019.1.0f2:Blender无法将.blend文件转换为FBX文件