看看苹果样品AR应用,有许多真实的外观对象(杯,蜡烛等)。但是,使用Xcode上的场景工具包编辑器很明显,这只允许您创建基本对象。
我的问题是,什么软件/文件可以用来创建真实的scn
对象?我确信有一些软件可以让您创建3D模型并将它们隐藏到scn
文件中。我只是不知道该使用哪个软件,或者哪些文件可以转换为scn
注意:我知道这个问题对Stackoverflow指南来说可能过于模糊/宽泛。我只是不知道该在哪里提问题,这似乎是最好的地方
发布于 2017-09-30 23:59:52
为了使用一些现有的模型,下面是我所知道的did...just基础知识。
您也可以跳过搅拌机转换,只需使用一个免费的在线OBJ到DAE转换工具。用谷歌搜索。试着在Turbosquid上买一个便宜的5美元范围的型号,它只有一个OBJ文件,而不是很多其他的部件。它们太大了,不管怎么说,都会引发其他问题。
在更新之后,在Xcode中查看了关于IO模型的Apple演示文稿后,我现在看到您可以将OBJ文件放到.scnassets文件夹中。选择该文件,转到“编辑器”并选择“转换为SCN文件”。这也应该有效,但我还没有试过。值得尝试一份OBJ文件的副本。
2018年12月更新:我一直在处理更多的3D文件。这里有一些关于这个问题的增量帮助。
尝试使用MeshLab导入3D模型并将其转换为.DAE文件。将.DAE文件拖到Xcode中的文件夹中。这就是你将要在你的应用程序中显示的东西。
如果源3D模型是.OBJ文件,则有两个相关的文件应该与.OBJ文件位于同一个文件夹中。这些是*.mtl文件和*.jpg或*.BMP文件。.mtl文件可以用TextEdit打开。
打开并确保它有一行: map_Kd *.jpg。.jpg是环绕三维网格文件的纹理图像。我发现最好确保您的纹理文件是.jpg格式的。如果不是,将其更改为.jpg格式(例如,在预览中将其重新保存为jpeg),然后编辑.mtl文件以获取新的.jpg文件名。
我有一些纹理文件是.bmp,我只是转换成.jpg,编辑了.mtl文件,我很好。
第二个问题是.obj文件中节点的名称。.obj文件也可以用TextEdit打开。.obj文件应该引用同一文件夹中的.mtl文件。如果没有,你就有麻烦了。
这是棘手的部分。当您在childNode场景中向rootNode添加一个SceneKit时,您必须填写"withName:“文本名。打开您从.obj + .jpg + .mtl中生成的转换后的MeshLab文件(这三个文件都在导入MeshLab时使用,但导出到.DAE之后只有.DAE文件),然后搜索"node =“。如果是的话,单词“id=”是您在scene.rootNode.childNode的"withName:“属性(withName:"node",递归地: true)中输入的文本名称的名称。
如果节点名ID尚未更改,则可以将其更改为节点。
希望这能有所帮助。许多小时的工作和其他人的帮助,以了解这一轮的工作与3D模型。
发布于 2017-06-30 04:18:28
Xcode的SceneKit编辑器不是3D艺术创作包,就像它的SpriteKit编辑器和Interface组件不等同于Photoshop、Illustrator、Pixelmator、亲和力设计器等。要自己创建3D艺术资产,您需要学习Blender、Maya、3DS Max或其他主要的3D创作工具之一。要小心,成为一名3D艺术家的学习曲线要比学习如何在2D中作画要陡一点。
SceneKit编辑器的目的是获取3D艺术家的输出,并准备或组合用于基于SceneKit的应用程序或游戏中,从而使它们与SceneKit的渲染器保持一致,安排单独的资产来创建游戏级别或其他场景,添加特定于SceneKit的动态特性,如粒子效应和物理特性等。
通过将资产从3D艺术工具导出为SceneKit可以导入的格式之一,您可以在这两个世界之间架起桥梁。数字资产交换(.dae)是这里最好的选择之一,但通过SceneKit的低级对应项I/O型,您还可以导入其他格式,如OBJ或Pixar。
当您在Xcode中打开这些代码时,您将得到SceneKit编辑器,这样您就可以开始标记SceneKit特定的编辑,并将结果保存到应用程序中作为.scn文件使用。
在编写和准备3D资产的过程中,您可以做一些事情,使它们在ARKit中看起来更加逼真。来自WWDC的ARKit会话 (以及附加到该会话的示例代码项目中的ReadMe文件)包括一些这样的提示:
发布于 2017-06-29 11:01:46
您可以以.DAE格式创建真实的3D模型,这是许多工具所支持的。然后在Xcode中,您可以将该.DAE文件转换为.SCN格式。若要进行转换,请检查此
https://stackoverflow.com/questions/44814390
复制相似问题