ios – 如何从Maya导出简单的装配模型以用于Scenekit?

我试图通过添加一个带有像’panda.scn’和’walk.scn’资产这样的简单动画的模型来试验Apple的Fox游戏SceneKit示例(链接如下).

《ios – 如何从Maya导出简单的装配模型以用于Scenekit?》
《ios – 如何从Maya导出简单的装配模型以用于Scenekit?》

我可以创建一个没有关节或动画的静态模型:在Maya(2017)中,我添加了一个简单的球体,导出选择到FBX_DAE(COLLADA)文件,将其拖入XCode中的项目并将其转换为SCN文件.然后我可以将该模型拖动到’level.scn’,定位并按照我的预期进行缩放.

但是,只要我在模型中添加任何动画或关节,我就无法在XCode中定位和缩放模型.

在Maya中,我向球体添加两个关节,选择球体和关节,然后如上导出.当我在XCode中检查模型SCN(孤立地或作为另一个场景中的参考)时,我发现我无法应用任何平移或缩放. XCode允许我在GUI中移动xyz定位器并更新比例,但模型不会改变.我可以在大纲视图中看到网格和关节,我尝试移动关节而不是网格,但它们什么都不做.我甚至尝试忽略GUI并在模型中将模型定位,就像设置了熊猫角色一样,但是将位置或变换应用于节点什么都不做 – 它总是出现在原点和默认比例上.

暂时忽略这一点,通过查看“walk.scn”文件,我的理解是动画只是关键帧的关节导出.我试图通过仅将关节导出到单独的DAE并导入它来重现它,然后在代码中将其应用于’walkAnimation’.这似乎也没有做任何事情.

我已经尝试了FBX_DAE导出对话框的各种设置,包括烘焙动画(顺便说一句 – 在导出时烘焙动画与在Maya中烘焙它之间有什么区别?前者似乎做了一些事情,而另一个在我测试).

我非常喜欢在Maya中创建一些简单角色动画并将它们放入SceneKit的工作流程.任何帮助是极大的赞赏.

以供参考:

Apple的消息来源:https://developer.apple.com/library/content/samplecode/Fox/Introduction/Intro.html

我的琐碎球模型有两个关节的玛雅场景:
http://pat.net/misc/ball1.mb
和Maya的DAE输出:
http://pat.net/misc/ball1.dae

更新:

Mnuages的答案似乎是正确的,因为当我在几何体和关节上添加父控件时,SceneKit允许我移动它们.但即使在了解了这些节点及其变换在Maya中的关系之后,我也不觉得我对SceneKit如何解释它们有了真正的理解. (如果存在的话,愿意阅读一些关于这一点的文档会更多地阐明它).

更新#2:

我终于可以通过执行以下操作来创建动画:1)导出完整场景或仅与动画联合,确保在DAE导出对话框中选择“烘焙动画”选项或使用键烘焙整个动画 – >烘焙动画. 2)仅当我在scenekit中加载DAE文件而不是将其转换为SCN时才有效.转换为SCN格式似乎失去了动画.

最佳答案 会发生什么是名为joint1的节点在joint1-anim动画中被动画化.因此,即使您在编辑器中移动joint1,您在屏幕上看到的是评估动画后的结果.

如果你创建一个中间节点,比如joint1-parent,并将joint1作为joint1-parent的子节点,那么你将能够自由地翻译和旋转joint1-parent并查看对joint1的影响.

至于为什么移动pSphere不会改变任何东西,这是同样的想法.就像动画覆盖位置一样,骨架将重新定位网格.

点赞