我在 android 应用程序中导入的对象的尺寸有问题。这就是我想要做的:
- 下载 3d 对象(.obj 文件)(例如这张椅子:https://poly.google.com/view/3txPAhYeu-x)
- 用Blender打开物体并改变它的尺寸
- 使用sceneform插件将对象导入android studio
一切正常,没有错误发生。但是当我在我的应用程序中使用该对象时,它的大小与我在 Blender 中设置的大小不同。对象小于之前设置的大小。
例如,我下载了椅子并在 blender 中将其高度设置为 1 米。
在我的应用程序中导入并使用后,它比真正的 1 米小:
链接:http://prntscr.com/os9cr8
另一个例子,我把椅子调到 2 米高,使用后,它的高度大约是 1 米:
链接:http://prntscr.com/os9eie
一种可能的解决方案是在 android studio 中缩放我的对象并使它们变大,这样我就可以获得“真实”尺寸。 但在那之前我应该测试更多的例子,看看是否所有的对象都可以用相同的数字缩放。例如,示例中的椅子可以用 2 进行缩放,它的尺寸将比示例中的尺寸更逼真。
最佳答案
终于找到解决办法了。问题是我在我的应用程序中导入的对象是 .obj 文件 并且根据 wikipedia : "OBJ 坐标没有单位..."
这意味着由导入应用程序决定单位是什么。
在 Blender 中,我打开我的对象 (.obj),更改其尺寸并将其导出为 (.fbx) 文件.在 android studio 中导入后一切正常,尺寸与之前在 Blender 中设置的相同。
关于android - ARCore 不显示对象的真实尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57484592/