ARCore 将典当模型更改为其他模型

ARCore changing pawn model to something else

我一直在尝试修改示例 ar core java 应用程序(完全是 hello_ar_java)。默认模型是 pawn.obj。我一直在尝试将它更改为任何不同的 .obj 模型,但它说我内存不足,即使新模型小于默认模型。

// Virtual object to render (ARCore pawn)
Texture virtualObjectAlbedoTexture =
     Texture.createFromAsset(
         render,
         "model1/texturka.png",
         Texture.WrapMode.CLAMP_TO_EDGE,
         Texture.ColorFormat.SRGB);
Texture virtualObjectPbrTexture =
     Texture.createFromAsset(
         render,
         "model1/bark.jpg",
         Texture.WrapMode.CLAMP_TO_EDGE,
         Texture.ColorFormat.LINEAR);

virtualObjectMesh = Mesh.createFromAsset(render, "models/pawn.obj");

上面的代码应该是选择一个模型来渲染,但是当我将它更改为 eg.

时,最后一行似乎给我错误

virtualObjectMesh = Mesh.createFromAsset(render, "models/square.obj");

我希望以前有人遇到过同样的问题并且知道如何解决它。

你先看看.obj文件,是你自己导出的吗?因为这些文件有很多不同的设置:

1 - 也许你的模型的脸有 4 个顶点(正方形)而不是像兵模型那样的 3 个(三角形), 2 - 或者您可能没有在 .obj 文件中设置纹理,这会与着色器产生冲突。

您可以用编辑器打开它并检查“f”后面有多少个数字,如果有 4 个数字就是问题所在,它有方面,您可以在 Blender 中打开它并在导出中设置勾选“三角面”选项。您还可以在几分钟内添加纹理,并将它们导入到您的项目中。

希望对你有所帮助,祝你有个愉快的一天!

确保优化您的模型,使其具有尽可能少的顶点和多边形。当您浏览 3D 模型网站时,您可能会注意到 AR/VR 优化模型被标记,这基本上意味着顶点/多边形数量大大减少。

您可以为具有 156 个顶点和 900 个顶点的地图定位图钉对象建模。有多种工具可以采用现有模型并通过消除和合并顶点的算法来减少多边形数量。

故事时间:当我还是一名 CAD 软件开发人员时,一位客户抱怨其中一个项目崩溃并且计算机 运行 内存不足。经过调试,我们发现客户正在建模的房子里有很多吊灯。枝形吊灯通过链条悬挂在天花板上。客户通过采用非常详细的高多边形计数链 link、copy-pasted 链 link 形成整个链来创建链。然后复制粘贴枝形吊灯。枝形吊灯 / crystal 部分的多边形数也很高。这导致多边形的数量难以估量,并立即使计算机崩溃。