Я работал с демонстрационным кодом Arcore, предоставленным Google, и работал в Android Studio, я бы хотел избежать использования Unity, если смогу выполнить эту задачу.
По умолчанию плоскость отображается в виде белых треугольников, а отрицательное пространство прозрачно. Я хотел бы изменить этот план, чтобы он был текстурой, которую можно выложить плиткой по всему окружению, примером этого может быть текстура травы.
Изображение по умолчанию, используемое самолетом, - это файл с именем trigrid.png, который определен в HelloArActivity.java.
Я попытался заменить его файлом изображения, который представлял собой просто текстуру травы, и назвал его floor.png. Он просто выглядит белым и вообще не отображает траву.
}
try {
mPlaneRenderer.createOnGlThread(/*context=*/this, "floor.png");
} catch (IOException e) {
Log.e(TAG, "Failed to read plane texture");
}
Я пробовал добавить
GLES20.glEnable(GLES20.GL_BLEND);
в функции drawPlanes, но это, похоже, не помогло. Я также прокомментировал некоторые изменения цветов в drawPlanes.
//GLES20.glClearColor(1, 1, 1, 1);
//GLES20.glColorMask(false, false, false, true);
//GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
//GLES20.glColorMask(true, true, true, true);
Я не уверен, что требуется для отображения текстуры. Это могло быть связано с файлами plane_fragment.shader, но у меня нет опыта работы с ними.
Любое понимание было бы полезно.