首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建真实的.scn文件?

如何创建真实的.scn文件?
EN

Stack Overflow用户
提问于 2017-06-29 00:10:40
回答 4查看 28K关注 0票数 37

看看苹果样品AR应用,有许多真实的外观对象(杯,蜡烛等)。但是,使用Xcode上的场景工具包编辑器很明显,这只允许您创建基本对象。

我的问题是,什么软件/文件可以用来创建真实的scn对象?我确信有一些软件可以让您创建3D模型并将它们隐藏到scn文件中。我只是不知道该使用哪个软件,或者哪些文件可以转换为scn

注意:我知道这个问题对Stackoverflow指南来说可能过于模糊/宽泛。我只是不知道该在哪里提问题,这似乎是最好的地方

EN

回答 4

Stack Overflow用户

发布于 2017-09-30 23:59:52

为了使用一些现有的模型,下面是我所知道的did...just基础知识。

  1. 我去了特博斯奎德,找到了一个适合我的3D模型。
  2. 确保它有OBJ文件。购买并下载。
  3. 下一个下载搅拌机。导入您刚购买的OBJ文件。
  4. 导出DAE文件。
  5. 将DAE文件和任何纹理(png文件)拖到项目中的.scnassets文件夹中。
  6. 单击.scnassets文件夹中的DAE模型。单击此处可在场景图中选择对象。
  7. 单击右上角的地球仪。
  8. 我点击了漫射,选择了我拖进来的一个PNG,将它应用到模型中。

您也可以跳过搅拌机转换,只需使用一个免费的在线OBJ到DAE转换工具。用谷歌搜索。试着在Turbosquid上买一个便宜的5美元范围的型号,它只有一个OBJ文件,而不是很多其他的部件。它们太大了,不管怎么说,都会引发其他问题。

更新之后,在Xcode中查看了关于IO模型的Apple演示文稿后,我现在看到您可以将OBJ文件放到.scnassets文件夹中。选择该文件,转到“编辑器”并选择“转换为SCN文件”。这也应该有效,但我还没有试过。值得尝试一份OBJ文件的副本。

2018年12月更新:我一直在处理更多的3D文件。这里有一些关于这个问题的增量帮助。

尝试使用MeshLab导入3D模型并将其转换为.DAE文件。将.DAE文件拖到Xcode中的文件夹中。这就是你将要在你的应用程序中显示的东西。

  1. http://www.meshlab.net/

如果源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模型。

票数 25
EN

Stack Overflow用户

发布于 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文件)包括一些这样的提示:

  • 使用物理材料
  • “烘焙”环境遮挡和其他静态照明效果
    • 添加不可见阴影平面

票数 15
EN

Stack Overflow用户

发布于 2017-06-29 11:01:46

您可以以.DAE格式创建真实的3D模型,这是许多工具所支持的。然后在Xcode中,您可以将该.DAE文件转换为.SCN格式。若要进行转换,请检查此

如何将.DAE转换为.SCN

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44814390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档