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

问题描述 投票:6回答:1

如何从3D模型创建.dae文件?我已经从无人机区域映射创建了一个3D模型,现在有一个非常大的文件我可以导入到Photoshop中,但我无法弄清楚如何创建一个我可以在SceneKit中使用的.dae文件。

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

swift xcode scenekit ios12
1个回答
1
投票

要创建3D模型并将其导出为Collada .dae文件,您可以使用以下任何3D创作工具:Blender,Autodesk Maya,Autodesk 3dsMax,The Foundry Modo,Maxon Cinema 4D,SideFX Houdini等。最简单的方法是使用非商业学生版Autodesk Maya 2018.它是免费的。你可以从HERE下载它。

YouTube中有无数的例子如何在Maya软件中建模和uv-map。 Look at this example of UV-mapping in Maya。因此,当您的3D模型(及其UV纹理)可以使用时,您可以将其导出为SceneKit支持的四种格式之一:

  • 动画Collada DAE
  • 动画皮克斯USDZ(iOS 12及更高版本支持)
  • 单帧索尼Alembic
  • 单帧Wavefront OBJ

enter image description here

在Maya Export Type你的3D几何必须是DAE_FBX export

enter image description here

您可以将纹理模型(方形UV映射1K,2K,4K等)导出为JPEGPNG文件。它可能看起来像这样:

enter image description here

必须在Diffuse Inspector中的Lighting Model(着色器)中为此属性的Show the Material插槽指定此UV平方纹理。

enter image description here

如果你想以编程方式编写,这里有一些Swift 4.1代码:

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的USD文件格式:

如果你的3D场景有.usda模型而不是.usdz,你可以使用终端中的命令行方法转换.usda

xcrun usdz_convertor file.usda file.usdz

usdz_convertor方法仅在安装Xcode 10时可用。

© www.soinside.com 2019 - 2024. All rights reserved.