如何创建要在 SceneKit 中使用的 DAE 文件?
Posted
技术标签:
【中文标题】如何创建要在 SceneKit 中使用的 DAE 文件?【英文标题】:How to create a DAE file to use in SceneKit? 【发布时间】:2015-01-18 14:39:30 【问题描述】:如何从 3D 模型创建 .dae
文件?我已经从无人机区域映射创建了一个 3D 模型,现在有一个非常大的文件可以导入到 Photoshop 中,但我不知道如何创建一个可以在 SceneKit 中使用的.dae
文件。
Xcode 的默认游戏示例有一个显示旋转飞机的 SceneKit,资产是 .dae
文件,但我没有看到任何有关如何从 3D 模型创建其中一个的文档,以及如何正确应用纹理。
【问题讨论】:
似乎应该有一个教程在那里解释如何从 3d 模型 .OBJ 文件开始,并使用 Photoshop 或其他类似工具和 Xcode,解释如何创建示例 SceneKit 启动器您目前在 Xcode 6.1 中看到的项目。让我知道是否有人发现了类似的东西。 大多数 3D 建模软件都可以导出为 COLLADA 文件 (.dae)。尝试其中之一。正如这个问题目前所说的那样,它与 ptogramming 无关。 类似问题:blender.stackexchange.com/questions/14584/… 这个article 可能对你有帮助 【参考方案1】:要创建 3D 模型并将其导出为 Collada .dae
文件,您可以使用以下任何 3D 创作工具:Autodesk Maya、Blender、Autodesk 3dsMax、The Foundry Modo、Maxon Cinema 4D、SideFX Houdini 等。最简单的方法是使用 Autodesk Maya 2022 的非商业学生版。它是免费的。您可以从HERE下载。
YouTube
如何在Maya软件中建模和uv-map的例子数不胜数。 Look at this example of UV-mapping in Maya。因此,当您的 3D 模型(及其 UV 纹理)可供使用时,您可以将其导出为 SceneKit 支持的四种格式之一:
DAE
动画皮克斯USDZ
(适用于 ios 12 及更高版本)
动画 Autodesk FBX
单帧索尼Alembic
单帧波前OBJ
在 Maya Export Type
中,您的 3D 几何体必须为 DAE_FBX export
:
模型的纹理(方形 UV 映射 1K 或 2K),您可以导出为 JPEG
或 PNG
文件。它可能看起来像这样:
您必须将此 UV-square-texture 分配给Show the Material
Inspector 中Lighting Model
(着色器)中的一个Diffuse
属性槽。
如果你想以编程方式编写,这里有一些 Swift 代码:
let scene = SCNScene(named: "art.scnassets/mushroom.scn")!
let mushroom = scene.rootNode.childNode(withName: "mushroom",
recursively: true)!
let mushroomMaterial = SCNMaterial()
mushroomMaterial.diffuse.contents = UIImage(named: "mushroom.png")
附注使用 Pixar 的 USDZ 文件格式:
如果您的 3D 场景需要 .usdz
,您可以在终端中使用以下命令转换 .usda
:
usdzconvert file.usda
您可以在这里阅读usdzconvert 命令。
【讨论】:
以上是关于如何创建要在 SceneKit 中使用的 DAE 文件?的主要内容,如果未能解决你的问题,请参考以下文章
SceneKit:如何控制导入资产的大小,一个 DAE 文件创建巨大的 SCNNode 而另一个是“正常”
如何在 iOS SceneKit 中使用具有不同场景图形的 DAE 文件