ARCore示例中andy.obj
文件的重要性是什么?
让我们说如果我们用新图片替换andy.png,我们如何为新图像生成.obj
文件?
答案 0 :(得分:6)
OBJ文件描述了几何体,png文件是在这个3D对象上“拉伸”的纹理。您必须使用像Blender这样的3D建模程序来创建新模型。
这是在Blender中导出OBJ文件的方法:https://blender.stackexchange.com/questions/121/how-do-i-export-a-model-to-obj-format
答案 1 :(得分:2)
示例代码只能处理只有1个纹理文件的最简单的OBJ模型。
对于那些复杂的OBJ模型,它们通常带有一个MTL文件,该文件引用了几个不同的纹理文件。为了能够处理这个问题,您需要对现有代码进行一些额外的工作。如果您对@ https://github.com/JohnLXiang/arcore-sandbox感兴趣,请查看我为此案例实施的代码。特别是,您可以查看ObjectRenderer.createOnGlThread()。
答案 2 :(得分:1)
要在Blender中将纹理导出为图像,请执行以下操作:
选择您的对象并进入编辑模式。选择所有顶点/面(按' a')。然后启动UV Mapping,按下' u。并选择UVMapping的其中一个选项。您必须为您的模型测试最佳选项。我不确定ARCore使用哪种UV Mapping映射选项。
然后转到UV /图像编辑器:
在菜单中导出UV布局,然后保存图像。
答案 3 :(得分:0)
要为您的AR应用程序创建新的.obj
模型,您需要使用3D创作软件,例如Autodesk Maya,Autodesk 3dsMax,Blender,SideFx Houdini,Cinema 4D等。这些应用程序可以帮助您创建高质量的具有相应.mtl
纹理文件的多边形模型。
但是您应该知道Sceneform不仅支持
OBJ
格式(不支持动画)的3D资源,而且还支持FBX
(带有动画)和glTF
(动画)的3D资源。不支持)。
也欢迎使用Sceneform的
ASCII
和Binary
资产定义:
受支持的材质文件(也就是3D资源的纹理)具有以下扩展名:
MTL
,BIN
,PNG
,JPG
和本机Sceneform的SFM
希望这会有所帮助。