TREE.js: Errormessage “TROIS.OBJLoader n'est pas un constructeur”
Je suis juste l'apprentissage de l'utilisation de three.js. Il semble très bon, mais maintenant j'ai un problème, je ne peux pas résoudre.
Je veux charger un OBJ fichier que j'ai créé dans blender avant. Pour ce faire, je suis en train d'utiliser les TROIS.OBJloader.
J'ai copié le code de http://mamboleoo.be/learnThree/, mais j'ai l'errormessage "TROIS.OBJLoader n'est pas un constructeur" dans la ligne 32.
Tout le reste fonctionne bien: l'Ajout d'une scène, l'ajout d'un matériau, l'ajout d'un cube, etc.
Pour le rendre facile, c'est le 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();
Je l'espère, quelqu'un a une idée d'où cela pourrait venir.
Ce Qui Concerne, Christian
OriginalL'auteur Christian Heisch | 2016-02-23
Vous devez vous connecter pour publier un commentaire.
Lors de la copie de Codepen exemples, toujours aller à la plume et vérifier dans les "Paramètres" pour voir tous les autres fichiers qui sont utilisés dans le projet.
Dans votre cas, l'auteur est à l'aide de OBJLoader.js et c'est là que
OBJLoader
constructeur est à venir et vous n'avez pas de référence à cela. Par conséquent, vous obtenez l'erreur. Ajouter la référence et il convient de travail.OriginalL'auteur Patel