Я просто изучаю использование three.js. Кажется, все в порядке, но теперь у меня есть проблема, которую я не могу решить.TREE.js: Errormessage "THREE.OBJLoader не является конструктором"
Я хочу загрузить OBJ-файл, который я создал в блендере раньше. Для этого я пытаюсь использовать THREE.OBJloader. Я скопировал код из http://mamboleoo.be/learnThree/, но я получаю ErrorMessage «THREE.OBJLoader не конструктор» в строке 32.
Все остальное работает отлично: Добавление сцены, добавление материала, добавив куб и т.д.
Чтобы сделать это легко, это код:
var renderer, scene, camera, banana;
var ww = window.innerWidth,
wh = window.innerHeight;
function init(){
renderer = new THREE.WebGLRenderer({canvas : document.getElementById('scene')});
renderer.setSize(ww,wh);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(50,ww/wh, 0.1, 10000);
camera.position.set(0,0,500);
scene.add(camera);
//Add a light in the scene
directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);
directionalLight.position.set(0, 0, 350);
directionalLight.lookAt(new THREE.Vector3(0,0,0));
scene.add(directionalLight);
//Load the obj file
loadOBJ();
}
var loadOBJ = function(){
//Manager from ThreeJs to track a loader and its status
var manager = new THREE.LoadingManager();
//Loader for Obj from Three.js
var loader = new THREE.OBJLoader(manager);
//Launch loading of the obj file, addBananaInScene is the callback when it's ready
loader.load('http://mamboleoo.be/learnThree/demos/banana.obj', addBananaInScene);
};
var addBananaInScene = function(object){
banana = object;
//Move the banana in the scene
banana.rotation.x = Math.PI/2;
banana.position.y = -200;
banana.position.z = 50;
//Go through all children of the loaded object and search for a Mesh
object.traverse(function (child) {
//This allow us to check if the children is an instance of the Mesh constructor
if(child instanceof THREE.Mesh){
child.material.color = new THREE.Color(0X00FF00);
//Sometimes there are some vertex normals missing in the .obj files, ThreeJs will compute them
child.geometry.computeVertexNormals();
}
});
//Add the 3D object in the scene
scene.add(banana);
render();
};
var render = function() {
requestAnimationFrame(render);
//Turn the banana
banana.rotation.z += .01;
renderer.render(scene, camera);
};
init();
Я надеюсь, кто-то имеет представление о том, где это может исходить от.
С уважением, христианские
ИСТИНА. Я не ожидал, что придется импортировать другой скрипт, поскольку я не видел заметку. Теперь я вижу это в документе treejs.org. Спасибо за помощь. –