如何在使用ARCORE将3d.obj放入曲面后更改texture.png?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在使用ARCORE将3d.obj放入曲面后更改texture.png?相关的知识,希望对你有一定的参考价值。
我有一种3d.obj文件的四种类型的texture.png。如何在3d.obj放置在表面后更改texture.png,就像ARCORE的换色功能一样?
有谁有想法吗?
答案
您可以更改对象的纹理。假设您正在查看hello_ar_java示例,可以向ObjectRenderer
添加一个方法:
public void setTextureOnGLThread(Bitmap textureBitmap) {
// Bind the texture name already allocated.
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);
// Set the filtering for handling different sizes to render.
GLES20.glTexParameteri(
GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR_MIPMAP_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
// Copy the bitmap contents into the texture buffer.
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, textureBitmap, 0);
// Generate the mip map for the different sizes.
GLES20.glGenerateMipmap(GLES20.GL_TEXTURE_2D);
// Unbind the texture.
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, 0);
}
你需要从GL线程中调用它,例如从onDrawFrame()
。
以上是关于如何在使用ARCORE将3d.obj放入曲面后更改texture.png?的主要内容,如果未能解决你的问题,请参考以下文章
ARCore - 如何将特定对象位置添加到ARAnchor?