Добрый день, может кто-то сможет помочь мне.

Я хочу использовать babylon.js для отображения wrl модели в браузере.

Загружаю я её так:

var ground = BABYLON.SceneLoader.ImportMesh("", "", "test.wrl", scene, function() {});

https://imgur.com/a/YJ2KHIr

С этим проблем нет.

Но если я накладываю на свою модель текстуру, то вместо наложенной текстуры вижу усреднённый цвет текстуру. Например если на текстуре белые и красные квадраты, то моя модель будет просто розового цвета.

Текстура https://imgur.com/a/gSlsSNT

Что получается при наложении https://imgur.com/a/NIFkUmp

Модель у меня такая:
#VRML V2.0 utf8
Transform {
children[
Shape {
appearance Appearance {
texture ImageTexture { url "stone.jpg" }
material Material {
diffuseColor 0 1 0
ambientIntensity 1
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [
0 1 0 #0
.951 .5 -.309 #1
.587 .5 .809 #2
-.587 .5 .809 #3
-.951 .5 -.309 #4
0 .5 -1 #5
.951 -.5 .309 #6
0 -.5 1 #7
-.951 -.5 .309 #8
-.587 -.5 -.809 #9
.587 -.5 -.809 #10
0 -1 0 #11
]
}
coordIndex [
0 2 1 -1 0 3 2 -1 0 4 3 -1 0 5 4 -1 0 1 5 -1
1 2 6 -1 2 7 6 -1 2 3 7 -1 3 8 7 -1 3 4 8 -1
4 9 8 -1 4 5 9 -1 5 10 9 -1 5 1 10 -1 1 6 10 -1
7 11 6 -1 7 8 11 -1 9 11 8 -1 9 10 11 -1 10 6 11 -1
]
}

}
]
}

Как видите у меня для здания геометрии используется IndexedFaceSet, если мне вместо своей фигуры сделать просто объект типо шара или квадрата, то на них текстура нормально ложится. https://imgur.com/a/8q8PTmM
Не понимаю даже в какую сторону копать.








 ,






URL записи