Xcode 的 SceneKit 编辑器渲染 .dae 文件错误,Xcode 有时在预览期间崩溃
Posted
技术标签:
【中文标题】Xcode 的 SceneKit 编辑器渲染 .dae 文件错误,Xcode 有时在预览期间崩溃【英文标题】:Xcode's SceneKit editor renders .dae file's wrong and Xcode sometimes crashes during preview 【发布时间】:2019-04-15 01:43:06 【问题描述】:我正在尝试弄清楚如何将带有动画的 .dae
文件导入 Xcode 和 SceneKit。
它有点工作,但它确实有问题,我无法预览文件,并且当尝试在 Xcode 中预览 .dae
文件时,Xcode 有时会崩溃。
这是我导入动画模型的方式
-
我从 Mixamo 下载了一个动画角色,作为 Collada 文件,设置如下。
-
新建一个SceneKit ios工程,导入
.dae
文件,在Xcode文件列表中选择该文件进行预览。结果如下所示。我已经完全放大以确保我不只是从网格内部查看模型。线条无限延伸,看起来像。
-
如果我使用 ConvertToXcodeCollada 工作流程,并验证 .dae XML 只有一个
<animation>
标签和相应的结束标签,然后将其导入 Xcode,它根本不会打开。见下图。
-
如果我导入使用 ConvertToXcodeCollada 转换的
.dae
文件版本未,并将.dae
文件添加为.scn
场景文件中的子参考,模型显示正确,并且动画播放正确。下图。
那么我应该如何正确地做到这一点呢?
我还尝试将动画模型导入 Blender,然后从那里将其导出到 Collada(使用 youtube 上的教程中的说明),结果相同。有没有一种方法可以让我以正确的方式做到这一点,它应该像它应该的那样工作,而 Xcode 不会出现错误?如果我可以直接预览和编辑 .dae
文件的材料等,而不必总是将它们添加到现有的 .scn
Scene Kit 场景中,那会更容易。
【问题讨论】:
我在 Mac OS Mohave 10.14.1、Xcode 10.1 上遇到了同样的问题。似乎是 Xcode 或系统错误 - 我检查了以前的 .dae 文件,这些文件在过去确实可以正常工作,并且同样的问题也发生在它们身上。我现在在 Xcode 中浏览这些 collada 文件时经常遇到系统崩溃(需要对操作系统进行硬重置)。这在过去不时发生,但仅在 Xcode 级别上,不会影响整个操作系统。 是的。而且 SceneKit 编辑器使用了很多资源。对于只有一个具有简单网格的单一模型来说,它非常慢。这是 2018 Macbook Pro 的***规格。 分享你的项目 【参考方案1】:我确实按照您的指示尝试加载 3D 动画。它对我来说很好用
在新的 sceneKit 项目中,我更新了我的代码。
// create a new scene
let scene = SCNScene(named: "Jumping.dae")! //"art.scnassets/ship.scn")!
还有这个
let ship = scene.rootNode.childNode(withName: "mixamorig_Hips", recursively: true)! // "ship"
我在 macOS 10.13.6 上使用 XCode 10.1
【讨论】:
请您打开这个项目并验证文件 .dae 是否正确显示? github.com/eh3rrera/ARKitAnimation 我用 mixamo 下载了 .dae 文件,这些文件带有动画,但是当我尝试用 finder 打开时,它看起来很奇怪,就像这篇文章中的图片 2 另外,当我尝试使用 finder 打开时,它看起来很奇怪,就像这篇文章中的图片 2。您能否分享您的项目或 .dae 文件以尝试使用 finder 或 Xcode 打开 你可以在 macOS 高 seira 上试试这个 苹果 OS 10.14.2 修复的错误 ??【参考方案2】:当我尝试在 finder 中打开一个 .dae 文件时,会发生这种情况,其中包含使用 mixamo 创建的动画
https://www.mixamo.com/#/
mojave 操作系统 10.14.1
苹果 10.14.2 修复的BUG
【讨论】:
【参考方案3】:我已经下载了你上面提到的链接。 github.com/eh3rrera/ARKitAnimation
我在finder中打开了。它适用于我的 mac
【讨论】:
以上是关于Xcode 的 SceneKit 编辑器渲染 .dae 文件错误,Xcode 有时在预览期间崩溃的主要内容,如果未能解决你的问题,请参考以下文章