Я сделал объект в blender и экспортировал в формате gltf. Me sh прекрасно загружается, но не загружает материал, который я сделал для объекта. На двух изображениях показано сравнение файла блендера и способа его загрузки на сцену.
Объект в блендере
Объект в трех js сценах
Вот код, который я использовал:
var Scene = new THREE.Scene();
var cameraZoom = 40;
var Camera = new THREE.OrthographicCamera(window.innerWidth / - cameraZoom, window.innerWidth / cameraZoom, window.innerHeight / cameraZoom, window.innerHeight / - cameraZoom, 0.1, 1000);
Camera.position.set(0, 0, 3);
var Renderer = new THREE.WebGLRenderer();
Renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(Renderer.domElement);
//GLTF loader set up, for loading our object
var GLTFLoader = new THREE.GLTFLoader();
var CastleWall; //A reference to the mesh in blender
function Initialise() {
GLTFLoader.load('Models/CastleWall.glb', function (GLTF)
{
Scene.add(GLTF.scene);
CastleWall = GLTF.scene.getObjectByName('CastleWall');
CastleWall.position.set(-16, 9, 0);
CastleWall.rotation.set(0, 1.5708, 0);
});
var light = new THREE.DirectionalLight(0xffffff, 1, 50);
light.position.set(0, 10, 10);
Scene.add(light);
};
function Update() {
requestAnimationFrame(Update);
Renderer.render(Scene, Camera);
};
Initialise();
Update();
Я проверил консоль, но он сказал, что названный мной материал был экспортирован. Также по какой-то причине он работал с текстурами изображений и базовыми c цветами. Любая помощь будет оценена. Спасибо.
График шейдеров для моего материала