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 有时在预览期间崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何从代码在 SceneKit 中设置基于物理的渲染?

SceneKit Cocoa 快照失败断言

Scenekit:如何获取节点的所有材质?

SceneKit:向相机节点添加定向光没有效果

Xcode 中的 SceneKit

在 SceneKit 中加速渲染