【问题标题】:ARCore changing pawn model to something elseARCore 将 pawn 模型更改为其他模型
【发布时间】:2021-12-26 04:50:06
【问题描述】:

我一直在尝试修改示例 ar 核心 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");

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

【问题讨论】:

  • 通常最好将错误消息的文本也发布在您的问题中,而不是将其放在图片中

标签: java android model arcore


【解决方案1】:

你应该先检查.obj文件,是你自己导出的吗?因为这类文件有很多不同的设置:

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

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

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

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2014-07-31
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多