2017-09-12 35 views
-1

我尝试了java_arcore_hello_ar示例应用程序,但用我在Blender中创建的模型替换了andy.obj。我已经使用设置从this tutorial将Wavefront.obj模型导入到ARCore OpenGL项目

导出搅拌器对象.obj和.mtl文件被放置在资产文件夹中,但是当我点击屏幕时,我什么也没有。它不显示错误,所以我认为它确实将对象放置在屏幕上,但不是出于任何原因而绘制它。

任何Google搜索结果通常都会提供一些教程,您必须创建一个用于转换对象的解析器,但据我所知,arcore包中的ObjectRenderer类会为您执行此操作。

有没有人试过这样的成功?我是否必须对.mtl文件做进一步的工作?

+0

如果您将.obj放在适当的目录中并更改代码中的资源名称,所有内容都应该没有任何问题。只要记住你刚刚提到的示例是使用纹理。如果你的模型不包含它,这可能会导致问题 – Fixus

回答

0

如果简化版,任何错误的信息,我认为,其原因有:

1.的OBJ的模型已放在其他位置,例如远远的地方。所以你应该检查模型的位置是否是建模过程中Blender的起源。
2. Obj模型与java_arcore_hello_ar样本不同,所以当java_arcore_hello_ar样本的Obj解析库解析错误时。

所以,你可以自己解析obj模型。

0

我确实通过扩展代码来实现OBJ和MTL文件。

你可以看看我的代码@https://github.com/JohnLXiang/arcore-sandbox

我也是新来的openGL,我的代码不完美,但至少工作。

+0

它看起来像谷歌样本附带的片段着色器需要环境,漫反射和镜面反射值为单浮点数,而在MTL中定义的这些值以r/g/B格式....我还没有想出如何解决这个问题呢。 – JohnLXiang