TREE.js: Errormessage “DREI.OBJLoader ist kein Konstruktor"

Ich bin nur zu lernen, die Verwendung von three.js. Es scheint sehr okay, aber jetzt habe ich ein problem, welches ich nicht lösen kann.

Ich soll zum laden einer OBJ-Datei, die ich erstellt in blender vor. Zu tun, ich bin versucht, die DREI.OBJloader.
Ich kopierte den code aus http://mamboleoo.be/learnThree/, aber ich bekomme die Fehlermeldung "DREI.OBJLoader ist kein Konstruktor" in Zeile 32.

Alles andere funktioniert einwandfrei: das Hinzufügen einer Szene, indem ein material, das hinzufügen eines Würfels, etc.

Machen es einfach, das ist der code:

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();

Ich hoffe, jemand hat eine Idee, Woher dies kommen könnte.

Grüße, Christian

InformationsquelleAutor Christian Heisch | 2016-02-23

Schreibe einen Kommentar