如何从3D模型创建.dae
文件?我已经从无人机区域映射创建了一个3D模型,现在有一个非常大的文件我可以导入到Photoshop中,但我无法弄清楚如何创建一个我可以在SceneKit中使用的.dae
文件。
Xcode的默认游戏示例有一个显示旋转飞机的SceneKit,资产是.dae
文件,但我没有看到任何关于如何从3D模型创建其中一个的文档,以及如何正确应用纹理它。
要创建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支持的四种格式之一:
DAE
USDZ
(iOS 12及更高版本支持)Alembic
OBJ
在Maya Export Type
你的3D几何必须是DAE_FBX export
:
您可以将纹理模型(方形UV映射1K,2K,4K等)导出为JPEG
或PNG
文件。它可能看起来像这样:
必须在Diffuse
Inspector中的Lighting Model
(着色器)中为此属性的Show the Material
插槽指定此UV平方纹理。
如果你想以编程方式编写,这里有一些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时可用。