Невозможно получить доступ к вложенному объекту GLTF / GLB sh или информации о материалах при использовании (заархивированной) Sceneform 1.16.0 - PullRequest
1 голос
/ 16 июня 2020

В Sceneform 1.16.0 невозможно получить доступ к вложенным сеткам или информации о материалах, присутствующей в файле GLTF / GLB, так как их количество всегда равно нулю.

Что касается того, что сейчас проект с открытым исходным кодом (и заброшенный из архива) от Google, можно проверить код класса Renderable, чтобы попытаться определить место возникновения проблемы.

Это приводит нас к конструктору:

@SuppressWarnings("initialization")
  protected Renderable(Renderable other) {
    if (other.getId().isEmpty()) {
      throw new AssertionError("Cannot copy uninitialized Renderable.");
    }

    // Share renderableData with the original Renderable.
    renderableData = other.renderableData;

    // Copy materials.
    Preconditions.checkState(other.materialNames.size() == other.materialBindings.size());
    for (int i = 0; i < other.materialBindings.size(); i++) {
      Material otherMaterial = other.materialBindings.get(i);
      materialBindings.add(otherMaterial.makeCopy());
      materialNames.add(other.materialNames.get(i));
    }

    renderPriority = other.renderPriority;
    isShadowCaster = other.isShadowCaster;
    isShadowReceiver = other.isShadowReceiver;

    // Copy collision shape.
    if (other.collisionShape != null) {
      collisionShape = other.collisionShape.makeCopy();
    }

    changeId.update();
}

... где исходный Renderable ( other ) не имеет вложенных сеток (other.renderableData) и материалов (other.materialBindings).

Любая помощь с этим?

С уважением.

...