Swift SceneKit–具有DAE文件格式的动画

Swift SceneKit–具有DAE文件格式的动画,swift,animation,scenekit,Swift,Animation,Scenekit,我正在尝试在SceneKit场景中设置模型动画: 创建简单的多维数据集模型并将其导出到cube.dae 为立方体创建简单的骨架,并使用骨骼制作简单的旋转动画,然后将其导出到animation.dae 使用苹果公司的Fox演示版WWDC 2015,我试着将模型放到场景中,效果很好 设置长方体旋转动画–它正在工作,但在应用动画后,立方体将其位置更改为0,0,0 也许有人用另一个3d工具Maya、Blender、3d Max成功地制作了骨骼动画和SceneKit 要将.dae转换为.scn,我选择da

我正在尝试在SceneKit场景中设置模型动画:

创建简单的多维数据集模型并将其导出到cube.dae 为立方体创建简单的骨架,并使用骨骼制作简单的旋转动画,然后将其导出到animation.dae 使用苹果公司的Fox演示版WWDC 2015,我试着将模型放到场景中,效果很好 设置长方体旋转动画–它正在工作,但在应用动画后,立方体将其位置更改为0,0,0 也许有人用另一个3d工具Maya、Blender、3d Max成功地制作了骨骼动画和SceneKit

要将.dae转换为.scn,我选择dae文件,然后在Xcode编辑器->转换为scenekit场景格式中

代码: 初始化模型节点

let characterScene = SCNScene(named: "game.scnassets/cube.scn")!
let characterTopLevelNode = characterScene.rootNode.childNodes[0]
characterNode.addChildNode(characterTopLevelNode)
let idleAnimation = CAAnimation.animationWithSceneNamed("game.scnassets/cubeWithMeshSkeletonAnimation.scn")!
idleAnimation.usesSceneTimeBase = false
idleAnimation.repeatCount = Float.infinity
characterNode.addAnimation(idleAnimation, forKey: "idle")
在场景中添加模型

let scene = SCNScene(named: "game.scnassets/Level1.scn")!
gameView.scene = scene
gameView.playing = true
gameView.loops = true
scene.rootNode.addChildNode(unrealCharacter.characterNode)
let startPosition = scene.rootNode.childNodeWithName("startingPoint", recursively: true)!
unrealCharacter.characterNode.transform = startPosition.transform

这是我的错误,我需要在初始模型中保存钻机。以前我只为动画保存装备。现在动画工作正常。

你能把你的Cheetah3D文件和导出的结果放在我们可以看到的地方,然后发布你用来加载/播放的代码吗?当然,我编辑了我的帖子,添加了链接到存档模型和动画,并放了一些代码。我不确定是否理解你的问题。你能详细说明一下你想做什么吗?你的预期行为和出了什么问题?还有什么是非文字,它与立方体有什么关系?好的,我试着解释一下。我想要和期望的是.dae中的动画按预期工作。我想要一件简单的事情-使用.dae文件制作模型动画,就像在apple示例代码中一样。unrealCharacter.characterNode是SCNNode。存档包含模型立方体和人体模型,并有动画进行测试。唯一意想不到的是,在将动画应用到SCNNode后,它会改变它的位置。请看一下我的问题,我正在尝试模仿您在这里所做的