Текстура babylon.js из блендера

У меня возникает основная проблема (я думаю), когда я пытаюсь экспортировать сцену из Blender в Babylon.js. Думаю, я не совсем понимаю, как работают текстуры.

Возьмем простой пример. Я создаю новую сцену в Blender. Есть только свет, камера и куб. По настройкам куба ничего не меняю. Я просто накладываю текстуру из jpg на стандартный материал. Выглядит это так:

https://puu.sh/5FU6k.jpg

Я использую программу экспорта Babylon для создания файла .babylon. Но когда я его импортирую, текстура не применяется.

Результат :

https://puu.sh/5FUcM.jpg

Я действительно не понимаю, почему ... Есть ли что-то особенное, чтобы сделать импортированные текстуры?

Вот мой код импорта:

<script>
var canvas = document.getElementById("renderCanvas");
var engine = new BABYLON.Engine(canvas, true);
BABYLON.SceneLoader.Load("", "test.babylon", engine, function (newScene) {
    // Wait for textures and shaders to be ready
    newScene.executeWhenReady(function () {
        // Attach camera to canvas inputs
        newScene.activeCamera.attachControl(canvas);

        // Once the scene is loaded, just register a render loop to render it
        engine.runRenderLoop(function() {
            newScene.render();
        });
    });
}, function (progress) {
    // To do: give progress feedback to user
});
</script>

person Shivaan Keldon    schedule 08.12.2013    source источник
comment
Понятно ! При использовании текстур с Babylon.js необходимо развернуть UV-карту перед применением текстуры в Blender!   -  person Shivaan Keldon    schedule 08.12.2013
comment
вы должны опубликовать это как ответ   -  person JohnB    schedule 07.03.2014


Ответы (2)


Шиваан Келдон (задававший вопрос) ответил на него в комментарии:

Понятно ! При использовании текстур с Babylon.js необходимо развернуть UV-карту перед применением текстуры в Blender!

person user3791926    schedule 30.06.2014

Найдите атрибут diffuseTexture в файле test.babylon и замените все значения атрибутов на путь к вашему изображению, например:

"diffuseTexture":{"name":"images/16.png"} 

или добавьте значение текстуры с помощью javascript, например:

вар floorMaterial = newScene.materials [3];

var floorTexture = new BABYLON.Texture ("images / 06.jpg", newScene);

person Romy R Michael    schedule 02.05.2016
comment
или добавьте значение текстуры с помощью javascript, например: var floorMaterial = newScene.materials [3]; var floorTexture = new BABYLON.Texture (images / 06.jpg, newScene); - person Romy R Michael; 02.05.2016
comment
пожалуйста, добавьте код из комментария в основную часть вашего ответа. - person NSNoob; 02.05.2016