Fli*_*Fun 29
我挖了这个因为它也让我烦恼.所有"无标题动画"都是每个骨骼的单独动画.您可以从xcode右侧面板中的属性inspecter获取id.像这样使用swift,你可以得到你的动画.
let urlOfScene = Bundle.main.url(forResources: "your url", withExtension: "dae")
let source = SCNSceneSource(url: urlOfScene, options: nil)
let armature = source.entryWithIdentifier("Armature", withClass: SCNNode.self) as SCNNode
let animation = armature.entryWithIdentifier("your bone id", withClass: CAAnimation.self) as CAAnimation
Run Code Online (Sandbox Code Playgroud)
必须对骨架中的所有骨骼进行此操作.**烦人!*
Apple使用3dmax进行所有示例项目,这些项目仅为每个collada文件显示一个动画.这是因为3dmax在一个动画下输出所有骨骼,而搅拌机将每个骨骼分开.
Temp Work Around 使用TextEdit或在.dae文件的末尾添加.xml扩展名并使用xml编辑器打开它(很多都是免费的在线).xml编辑器更容易使用.向下滚动到动画起始块.它看起来像......
<library_animations>
<animation id= "first_bone">
<source id= "first_bone-input">
Run Code Online (Sandbox Code Playgroud)
把它改成......
<library_animations>
<animation> ---this is the only modified line
<source id="first_bone-input">
Run Code Online (Sandbox Code Playgroud)
在每个动画结束时将是一个结束块,如此...
</animtion> ---delete this line as long as its not your last bone
<animation id="second_bone"> ---delete this line too
<source id="second_bone-input">
Run Code Online (Sandbox Code Playgroud)
当然在你最后一个骨头的末尾离开动画结束块就像这样......
</animation>
</library_animations>
Run Code Online (Sandbox Code Playgroud)
这将在您的.dae文件中为您提供一个动画,该动画与您的文件同名,并在末尾添加-1!
编辑 - 这是一个Automator服务的链接,将为您转换上述代码!
将文件解压缩并放入〜/ Library/services文件夹中.从那里你可以右键单击你的collada文件并向下滚动到ConvertToXcodeCollada和presto!完成后会弹出一个窗口(大约半秒钟).
我正在解决同样的问题,但我正在使用 Maya,如果您下载WWDC 2014 的 SceneKit 幻灯片
\n\n文件 AAPLSlideAnimationEvents.m 有一些导入带有多个 \xe2\x80\x9cuntitled-animations\xe2\x80\x9d 的 DAE 文件的示例,如您所描述,希望有帮助
\n 归档时间: |
|
查看次数: |
14368 次 |
最近记录: |