Как загрузить объект.dae с текстурой и материалом

Я только начал с Минько и пытался понять этот https://github.com/aerys/minko/blob/master/doc/tutorial/06-Loading_3D_files.md учебник. Я сделал несколько шагов:

sceneManager->assets()->loader()
        ->queue(FIREAXE_D)
        ->queue(FIREAXE_N)
        ->queue(FIREAXE_S)
        ->queue(TEXTURE_FILENAME)
        ->queue("effect/Basic.effect")
        ->queue(OBJ_MODEL_FILENAME);

и теперь я пытаюсь использовать эти три текстуры с моим объектом и файлом.mtl -> материал.

auto _ = sceneManager->assets()->loader()->complete()->connect([=](file::Loader::Ptr loader)
    {

        auto objModel = sceneManager->assets()->symbol(OBJ_MODEL_FILENAME);
         objModel->component<Transform>()->matrix()->appendScale(0.01f);
         objModel->component<Transform>()->matrix()->translation(-1.f, -1.f, 0.f);
         objModel->component<Texture>()->set(sceneManager->assets()->texture(FIREAXE_D));
         //objModel->addComponent(sceneManager->assets()->texture(FIREAXE_N));
         //objModel->addComponent(sceneManager->assets()->texture(FIREAXE_S));
         root->addChild(objModel);
    });

Это не будет работать, а как насчет файла.mtl? Как прикрепить его к моему объекту?

Тем не менее, учебные пособия все еще крошечные и глючные, лучше поискать примеры, но я пока не могу найти ни одного с загрузкой текстуры для объекта.

1 ответ

Решение

Это не будет работать, а как насчет файла.mtl? Как прикрепить его к моему объекту?

Ваш вопрос касается загрузки файла Collada (*.dae). Файлы Collada не имеют файлов *.mtl, файлы *.obj -.

Тем не менее, он работает одинаково для любой зависимости любого файла: они автоматически загружаются, если их действительно можно найти по указанному пути /URI.

Вы можете добавить пути включения / поиска, используя file::Options::includePaths() или настроить способ разрешения URI с помощью file::Options::uriFunction(), Многие другие свойства file::Options Класс поможет вам настроить загрузку активов.

Однако учебники все еще крошечные и глючные

Если вы найдете ошибки, пожалуйста, откройте проблему на GitHub.

лучше искать примеры, но я не могу найти ни одного с загрузкой текстуры для объекта прямо сейчас.

В следующем примере загружается файл Collada вместе с анимацией и текстурами:

https://github.com/aerys/minko/tree/master/example/assimp

Другие вопросы по тегам