Android ArCore Sceneform API.Как изменить текстуры во время выполнения? - PullRequest
0 голосов
/ 23 мая 2018

На сервере более 3000 моделей, каждая из которых имеет несколько цветов материала.Мне нужно отдельно загружать модели и текстуры и устанавливать текстуры в зависимости от выбора пользователя.Как изменить baseColorMap, normalMap, metalMap, roughnessMap во время выполнения?

после modelRenderable.getMaterial (). SetTexture ("normalMap", normalMap.get ());ничего не происходит, я делаю что-то не так.Для этого в документации нет информации.

Ответы [ 2 ]

0 голосов
/ 12 августа 2018

используйте этот код`

CompletableFuture<Texture> futureTexture = Texture.builder()
          .setSource(this, R.drawable.shoes)
          .build();

и замените его на

/*.thenAccept(renderable -> andyRenderable = renderable)*/
        .thenAcceptBoth(futureTexture, (renderable, texture) -> {
            andyRenderable = renderable;
            andyRenderable.getMaterial().setTexture("baseColor", texture);
        })

.

0 голосов
/ 23 мая 2018

спасибо за публикацию этого вопроса.

  • setTexture() не работает : К сожалению, эта часть нашего API все еще немного грубая;это работает, но очень легко ошибиться.Мы работаем над примером, чтобы проиллюстрировать, как изменить параметры материала (включая текстуры) во время выполнения, и улучшим наши отчеты об ошибках в следующем выпуске.
  • Тысячи моделей с несколькими перестановками как? : план здесь состоит из двух частей:
    • Двоичные файлы, используемые плагином Android Studio, будут доступны для использования в сценариях сборки на серверных платформах.Это позволит вам выполнить конвертацию ваших активов на стороне сервера в .sfb.Мы скоро выпустим сообщение в блоге о том, как это сделать.
    • .sfa получит возможность содержать свободные текстуры и материалы, явно не связанные с геометрией, а .sfa сможетобъявить зависимости данных от других .sfa.Это будет означать, что вы можете создавать (и доставлять) .sfb, которые содержат текстуры / материалы (но не геометрию) и .sfb, которые содержат геометрию (но не текстуры / материалы), и если они оба доступныво время создания это будет просто работать.
...