0

我刚开始使用 Minko 并试图理解这个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 文件呢?如何将它附加到我的对象上?

但是教程仍然很小而且有问题,最好寻找示例,但我现在找不到任何带有纹理加载的对象。

4

1 回答 1

0

这不起作用,.mtl 文件呢?如何将它附加到我的对象上?

您的问题是关于加载 Collada (*.dae) 文件。Collada 文件没有 *.mtl 文件,*.obj 文件有。

尽管如此,它对任何文件的任何依赖项都是一样的:如果它们实际上可以在提供的路径/URI 中找到,它们会自动加载。

您可以使用该属性添加包含/搜索路径file::Options::includePaths(),或者使用file::Options::uriFunction(). 该类的许多其他属性file::Options将帮助您自定义资产的加载方式。

然而教程仍然很小而且有缺陷

如果您发现错误,请在 github 上打开一个问题

最好寻找示例,但我现在找不到任何带有纹理加载的对象。

以下示例加载 Collada 文件以及动画和纹理:

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

于 2015-03-14T18:38:49.927 回答