2012-12-20 1 views
0

내 모델이로드 (JSON 파일에있는 재료를 사용하도록) 그러나MeshFaceMaterial/JSON 자료 오류

loader.load("js/charWalk01.js", function(geometry, materials) { 
       mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial()); 
       scene.add(mesh); 

      }); 

, 나는 MeshFaceMaterial를 사용하려고, 나는이 정말 이상한 얻을 three.min.js 오류 메시지 (아래).

loader.load("js/charWalk01.js", function(geometry, materials) { 
       materials[ 0 ].morphTargets = true; 
       mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial()); 
       scene.add(mesh); 
      }); 

오류는 다음과 같습니다

TypeError: 'undefined' is not an object (evaluating 'a.map') three.min.js:347 

    TypeError: 'undefined' is not an object (evaluating 'ma.attributes') three.min.js:429 

JSON 파일이 완벽하게 정상합니다 (OBJ 변환으로 작성), 여기에서 재질 코드입니다 :

"materials": [ { 
"DbgColor" : 15658734, 
"DbgIndex" : 0, 
"DbgName" : "Mat.1", 
"colorDiffuse" : [1.0, 1.0, 1.0], 
"colorSpecular" : [0.4, 0.52, 0.53], 
"illumination" : 4, 
"mapDiffuse" : "Character_01.jpg" 
}], 

에 관해서는 어떤 도움을 그 오류가 왜 나타날 수 있습니까?

건배, 이안

+2

시도'THREE.MeshFaceMaterial (자료) '- 마이그레이션 위키 :: https://github.com/mrdoob/three.js/wiki/Migration을 참조하십시오. three.js r.53 – WestLangley

+0

그건 오소리예요! 그 덕분에, 그리고 행복한 새 메리! – Ian

답변

1

당신은과 같이, MeshFaceMaterials에 인수로 materials 전달해야합니다

loader.load("js/charWalk01.js", function(geometry, materials) { 
    materials[ 0 ].morphTargets = true; 
    mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    scene.add(mesh); 
}); 

three.js를 r.53