Как использовать модель коллады с aframe-v1.1.0.min

Я использую a-frame с 2018 года, чтобы показывать свои сценографии режиссерам, на которых работаю. Я использовал файлы colladas для своих объектов, и все отлично работало, а мои текстуры были такими, как я хотел. Но с тех пор, как появился webxr (aframe-v1.1.0.min), больше невозможно использовать collada. Я пробовал файлы Gltf, но они слишком тяжелые и неудовлетворительные. Поэтому я хотел знать, как вернуть колладу обратно в скрипты с рамкой. Я пробовал: collada-model-legacy.js с ColladaLoader.js в другой папке, но это не работает. У тебя есть решение? Спасибо


person user9288082    schedule 14.02.2021    source источник
comment
glTF теперь является рекомендуемым форматом. Вы можете легко конвертировать с помощью github.com/KhronosGroup/COLLADA2GLTF.   -  person Diego Marcos    schedule 15.02.2021
comment
спасибо за ваш ответ, но коллада для меня больше, чем формат, он графически и художественно более интересен, особенно для матовой стороны цветов и материалов, и мне не нужна анимация. Gltf слишком тяжелый и слишком яркий и много алиазинга (даже с включенным сглаживанием) Очень хочется сохранить колладу, неужели никак??? заранее спасибо   -  person user9288082    schedule 15.02.2021
comment
COLLADA не подходит для приложений реального времени, а является форматом обмена для 3D-приложений. glTF предназначен для быстрого анализа нагрузки движком. По аналогии с 2D-изображениями COLLADA — это PSD, а glTF — PNG. glTF должен быть легче, чем COLLADA. glTF не предписывает алиасинг и яркость. Возможно, то, как вы загружаете модель или освещаете сцену, влияет на то, как выглядит модель. Стоит открыть отдельные вопросы по этим вопросам. Удачи   -  person Diego Marcos    schedule 15.02.2021
comment
Спасибо. Я понимаю, и вы, вероятно, правы, но позвольте мне настаивать. Я долго работал над разработкой рабочего процесса с collada, а теперь это барахло. Мне достаточно коллады, и я хочу сохранить ее. Пожалуйста, дайте мне возможность продолжить использовать его с webxr и a-frame. заранее спасибо   -  person user9288082    schedule 16.02.2021


Ответы (1)


Вы можете использовать любой загрузчик из репозитория three.js, а также ссылку ColladaLoader.

Вы можете создать компонент-обертку, который будет использовать загрузчик threejs и добавлять модель на сцену:

AFRAME.registerComponent("foo", {
  init: function() {
    const el = this.el;
    // create a loader
    const loader = new THREE.ColladaLoader();
    // load the model
    loader.load("MODEL_URL", function(model) {
      el.object3D.add(collada.scene);
    })
  }
})

Простым примером может быть этот компонент (проверьте его со статическим и анимированные модели коллады здесь)

person Piotr Adam Milewski    schedule 17.02.2021
comment
Спасибо, большое спасибо. Я смогу продолжать использовать collada с потрясающим a-frame, но это не помешает мне продолжить изучение многообещающего формата gltf. Спасибо еще раз... - person user9288082; 18.02.2021