看看苹果的AR应用示例,有很多看起来很逼真的对象(杯子,蜡烛等)。但是在Xcode上使用场景工具包编辑器很明显,这只允许你创建基本的对象。我的问题是,什么样的软件/文件可以用来创建逼真的scn对象?我确信有软件可以让你创建3D模型并将其转换为scn文件。我只是不知道使用什么软件或什么文件可以转换为scn
scn
**注意:**我知道这个问题对于Stackoverflow准则来说可能过于模糊/宽泛。我只是不知道在哪里提出我的问题,这里似乎是最好的地方
wlzqhblo1#
为了让一些现有的模型可以工作,我做了以下事情...只是我所知道的基本知识。1.我去了Turbosquid,找到了一个适合我的3D模型。1.确保它有OBJ文件。购买并下载。1.接下来下载Blender,导入刚买的OBJ文件。1.导出DAE文件。1.将DAE文件和任何纹理(png文件)拖动到项目的.scnassets文件夹中。1.单击.scnassets文件夹中的DAE模型。单击以选择场景图形中的对象。1.单击右上角的地球仪。1.我单击了“漫反射”,并选择了一个拖入的PNG以将其应用于模型你也可以跳过Blender转换,只使用免费的在线OBJ到DAE转换工具之一。谷歌一下。试着在Turbosquid上买一个便宜的5美元的范围模型,它只有一个OBJ文件,没有很多其他的零件。它们太大了,无论如何作为一个入门方法会产生其他问题。
更新在Xcode中观看了关于Model IO的Apple WWDC演示后,我现在看到您可以将OBJ文件放入.scnassets文件夹中。选择该文件,进入编辑器并选择Convert to SCN file。这应该也可以,但我还没有尝试过。值得尝试使用您的OBJ文件副本。**2018年12月更新:**我一直在处理更多的3D文件。这里有一些关于这个问题的增量帮助。
尝试使用MeshLab导入您的3D模型并将其转换为.DAE文件。将.DAE文件拖动到Xcode中的一个文件夹中。这就是您要在应用中显示的文件。
txu3uszq2#
Xcode的SceneKit编辑器不是一个3D艺术创作软件包--就像它的SpriteKit编辑器和界面生成器组件不等同于Photoshop、Illustrator、Pixelmator、Affinity Designer等。要自己创建3D艺术素材,你需要学习Blender、Maya、3DS Max或其他主要的3D创作工具之一。学习成为一个3D艺术家的曲线比学习如何在2D中绘画要陡一点。SceneKit编辑器 * 的 * 用途是从3D艺术家那里获取输出,并将其准备或组合起来用于基于SceneKit的应用程序或游戏--调整材质定义,使其与SceneKit的渲染器看起来一致,排列单独的资源以创建游戏关卡或其他场景,添加动态的SceneKit特定功能,如粒子效果和物理学等。您可以从3D艺术工具中以SceneKit可以导入的格式之一导出资产,从而在这两个世界之间架起桥梁。数字资产交换(.dae)是最好的选择之一,但通过SceneKit的低级别对应项Model I/O,您也可以导入其他格式,如OBJ或Pixar USD。当您在Xcode中打开它们时,您将获得SceneKit编辑器,这样您就可以开始标记SceneKit特定的编辑,并将结果另存为.scn文件,以便在应用中使用。在创作和准备3D资源的过程中,您可以做一些事情,使它们在ARKit中看起来更逼真。ARKit session from WWDC(以及该会话所附的示例代码项目中的自述文件)包括一些这样的技巧:
0lvr5msh3#
你可以用许多工具支持的.DAE格式创建逼真的3D模型。然后在Xcode中,你可以将.DAE文件转换为.SCN格式。转换时,请选中此选项How to convert .DAE to .SCN
y53ybaqx4#
在构建SceneKit应用程序时,您可以加载具有逼真动画和物理材质的USDZ assets。创建animated models的正确方法是使用专业的3D创作工具,如Autodesk Maya、Blender或SideFX Houdini。这些应用程序不仅允许您导出完美的几何图形,还可以导出包含漫射、金属、粗糙度、PBR材料的吸留和发射槽。
4条答案
按热度按时间wlzqhblo1#
为了让一些现有的模型可以工作,我做了以下事情...只是我所知道的基本知识。
1.我去了Turbosquid,找到了一个适合我的3D模型。
1.确保它有OBJ文件。购买并下载。
1.接下来下载Blender,导入刚买的OBJ文件。
1.导出DAE文件。
1.将DAE文件和任何纹理(png文件)拖动到项目的.scnassets文件夹中。
1.单击.scnassets文件夹中的DAE模型。单击以选择场景图形中的对象。
1.单击右上角的地球仪。
1.我单击了“漫反射”,并选择了一个拖入的PNG以将其应用于模型
你也可以跳过Blender转换,只使用免费的在线OBJ到DAE转换工具之一。谷歌一下。试着在Turbosquid上买一个便宜的5美元的范围模型,它只有一个OBJ文件,没有很多其他的零件。它们太大了,无论如何作为一个入门方法会产生其他问题。
更新在Xcode中观看了关于Model IO的Apple WWDC演示后,我现在看到您可以将OBJ文件放入.scnassets文件夹中。选择该文件,进入编辑器并选择Convert to SCN file。这应该也可以,但我还没有尝试过。值得尝试使用您的OBJ文件副本。
**2018年12月更新:**我一直在处理更多的3D文件。这里有一些关于这个问题的增量帮助。
尝试使用MeshLab导入您的3D模型并将其转换为.DAE文件。将.DAE文件拖动到Xcode中的一个文件夹中。这就是您要在应用中显示的文件。
如果源3D模型是.OBJ文件,则有两个相关文件应与.OBJ文件位于同一文件夹中。它们是 *.mtl文件和 *.jpg或 *.BMP文件。.mtl文件可以使用“文本编辑”打开。
打开并确保它有一行内容:map_Kd *. jpg。.jpg是包裹在3D网格文件周围的纹理图像。我发现最好确保您的纹理文件是.jpg格式。如果不是,请将其更改为.jpg格式(例如,在预览中将其重新保存为jpeg),然后编辑.mtl文件以获得新的.jpg文件名。
我有一些纹理文件是.bmp的,我只是转换成.jpg,编辑了.mtl文件,我很好。
第二个问题是.obj文件中节点的名称。.obj文件也可以使用TextEdit打开。.obj文件应该引用同一文件夹中的.mtl文件。否则,您就有问题了。
这里是棘手的部分。当你在SceneKit场景中添加一个childNode到rootNode时,你必须填写“withName:“文本名称。打开你从.obj + .jpg + .mtl(导入到MeshLab时使用所有这三个,但导出到.DAE后,只有.DAE文件)转换的.DAE文件,并搜索“node id =”。它可能会说:“node id=“node”。如果是这样,单词“node”就是您在scene.rootNode的“withName:“属性中为文本名称输入的childNode的名称。childNode(withName:“节点”,递归:真)调用。
您可以将节点名称ID更改为node(如果尚未更改)。
希望这有帮助。许多小时的工作和他人的帮助,以了解这下一轮的工作与三维模型。
txu3uszq2#
Xcode的SceneKit编辑器不是一个3D艺术创作软件包--就像它的SpriteKit编辑器和界面生成器组件不等同于Photoshop、Illustrator、Pixelmator、Affinity Designer等。要自己创建3D艺术素材,你需要学习Blender、Maya、3DS Max或其他主要的3D创作工具之一。学习成为一个3D艺术家的曲线比学习如何在2D中绘画要陡一点。
SceneKit编辑器 * 的 * 用途是从3D艺术家那里获取输出,并将其准备或组合起来用于基于SceneKit的应用程序或游戏--调整材质定义,使其与SceneKit的渲染器看起来一致,排列单独的资源以创建游戏关卡或其他场景,添加动态的SceneKit特定功能,如粒子效果和物理学等。
您可以从3D艺术工具中以SceneKit可以导入的格式之一导出资产,从而在这两个世界之间架起桥梁。数字资产交换(.dae)是最好的选择之一,但通过SceneKit的低级别对应项Model I/O,您也可以导入其他格式,如OBJ或Pixar USD。
当您在Xcode中打开它们时,您将获得SceneKit编辑器,这样您就可以开始标记SceneKit特定的编辑,并将结果另存为.scn文件,以便在应用中使用。
在创作和准备3D资源的过程中,您可以做一些事情,使它们在ARKit中看起来更逼真。ARKit session from WWDC(以及该会话所附的示例代码项目中的自述文件)包括一些这样的技巧:
0lvr5msh3#
你可以用许多工具支持的.DAE格式创建逼真的3D模型。然后在Xcode中,你可以将.DAE文件转换为.SCN格式。转换时,请选中此选项
How to convert .DAE to .SCN
y53ybaqx4#
场景工具包2023
在构建SceneKit应用程序时,您可以加载具有逼真动画和物理材质的USDZ assets。创建animated models的正确方法是使用专业的3D创作工具,如Autodesk Maya、Blender或SideFX Houdini。这些应用程序不仅允许您导出完美的几何图形,还可以导出包含漫射、金属、粗糙度、PBR材料的吸留和发射槽。