如何创建DAE文件以在SceneKit中使用?

7

如何从3D模型创建.dae文件?我已经通过无人机航拍创建了一个3D模型,现在有一个非常大的文件可以导入到Photoshop中,但我不知道如何创建一个.dae文件以便在SceneKit中使用。

Xcode的默认游戏示例有一个SceneKit,显示旋转的飞行器,资产是一个.dae文件,但我没有看到任何关于如何从3D模型创建这样一个文件以及如何正确地应用纹理的文档。


似乎应该有一个教程,介绍如何使用一个3D模型 .OBJ文件,并使用Photoshop或其他类似的工具和Xcode,解释如何创建你在当前Xcode 6.1中看到的示例SceneKit起始项目。如果有人发现类似的内容,请告诉我。 - ricozinn
1
大多数3D建模软件都可以导出COLLADA文件(.dae)。试试其中之一。由于当前问题的措辞,它与编程无关。 - David Rönnqvist
1
类似问题:http://blender.stackexchange.com/questions/14584/properly-export-collada-for-use-in-scenekit - mnuages
这篇文章可能会对你有所帮助。 - Leonardo
1个回答

3
要创建一个3D模型并将其导出为Collada .dae文件,您可以使用以下任何一种3D创作工具:Autodesk Maya、Blender、Autodesk 3dsMax、The Foundry Modo、Maxon Cinema 4D、SideFX Houdini等。最简单的方法是使用Autodesk Maya 2024的非商业学生版本。它是免费的。您可以从这里下载。
在YouTube上有无数的示例展示了如何在Maya软件中进行建模和UV映射。看看这个Maya中的UV映射示例。因此,当您的3D模型(及其UV纹理)准备好供使用时,您可以将其导出为SceneKit支持的五种格式之一。
  • 动画的Collada DAE
  • 动画的Pixar USDZ
  • 动画的Autodesk FBX
  • 单帧的Sony Alembic
  • 单帧的Wavefront OBJ with MTL

enter image description here

在Maya中导出DAE模型时,选择"Export Type"为"DAE_FBX export"。

enter image description here

您可以将2K UV映射纹理导出为JPEG或PNG文件。

enter image description here

你必须将这个UV映射的方形纹理分配给Lighting Model(着色器)中的属性的Diffuse槽,在Show the Material检查器中。

enter image description here

以下是您如何以编程方式实现它的方法:

import SceneKit

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")
mushroom.geometry.materials = [mushroomMaterial]

附言

使用Pixar的USDZ文件格式:

如果您需要生成.usdz文件,请在终端中使用以下命令:

usdzconvert file.fbx

在这里,您可以阅读关于usdzconvert命令的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接