2014-07-16 5 views
0

Je suis en train de charger des modèles obj, voici le code (CoffeeScript)OBJ modèle ne se charge pas dans Three.js

loader = new THREE.OBJLoader manager 

if loadedModels.diamondRing == null 

    loader.load "obj/diamond/ring1.obj", (object) -> 

     object.traverse (child) -> 
      if child instanceof THREE.Mesh 
       child.material = silverMaterial.clone() 

     object.position.y = 10 
     object.scale.x = object.scale.z = object.scale.y = config.p1.size*0.05 

     object.userData.ring = true 
     combine.add object 

     loadedModels.diamondRing = combine.clone() 


    loader.load "obj/diamond/diamond1.obj", (object) -> 

     object.traverse (child) -> 
      if child instanceof THREE.Mesh 
       child.material = silverMaterial.clone() 

     object.position.y = 10 
     object.userData.diamond = true 
     object.scale.x = object.scale.z = object.scale.y = config.p1.sizeDiamond*0.075 

     combine.add object 

Mais je pris exception:

Uncaught TypeError: Cannot read property 'clone' of undefined obj.js:93 

où obj.js - TROIS .OBJLoader.

en ligne 93 placé Add_Face fonction:

function add_face(a, b, c, normals_inds) { 

     if (normals_inds === undefined) { 

      geometry.faces.push(face3(
       vertices[ parseVertexIndex(a) ] - 1, 
       vertices[ parseVertexIndex(b) ] - 1, 
       vertices[ parseVertexIndex(c) ] - 1 
      )); 

     } else { 

      geometry.faces.push(face3(
       vertices[ parseVertexIndex(a) ] - 1, 
       vertices[ parseVertexIndex(b) ] - 1, 
       vertices[ parseVertexIndex(c) ] - 1, 
       [ 
-- line 93 -->  normals[ parseNormalIndex(normals_inds[ 0 ]) ].clone(), 
        normals[ parseNormalIndex(normals_inds[ 1 ]) ].clone(), 
        normals[ parseNormalIndex(normals_inds[ 2 ]) ].clone() 
       ] 
      )); 

     } 

    } 

Je pense que problème dans Normales, mais je ne sais pas où exactement. problème de modèle de lecture est arrivé sur la dernière ligne, comme ceci:

f 6802//6802 6803//6803 6804//6804 

Si dans le modèle obj supprimer les lignes affectées:

enter image description here][1

Dans le modèle de l'éditeur 3D une apparence normale. Peut-être quelqu'un a fait face à un tel problème.

+0

Savez-vous quel modèle est le problème? Avez-vous essayé de charger le modèle (sans faire la mise à l'échelle et d'autres choses)? Avez-vous essayé avec javascript standard? Quel programme 3D utilisez-vous? Exportez-vous le .obj du programme 3d ou faites-vous une sorte de conversion? – 2pha

Répondre