2014-10-16 6 views
0
function create_geometry_0(scene) 
{ 
     var mesh; 
     var material; 
     var texture; 
     var geometry; 
     geometry = new THREE.BufferGeometry(); 
     geometry.attributes = { 
     position: { 
      itemSize: 3, 
      array: new Float32Array([..my object..]) 
     }, 
     normal: { 
      itemSize: 3, 
      array: new Float32Array([..my object..]) 
     } 
     }; 

     texture = THREE.ImageUtils.loadTexture('ull.jpg'); 
     texture.needsUpdate = true; 

     material = new THREE.MeshPhongMaterial({ 
      color: 0xFF0000, 
      ...other material stuff 
//   map: texture 
      }); 
     mesh = new THREE.Mesh(geometry, material); 
     scene.add(mesh); 

} 

여기에 내 자료에지도를 추가하지 않으면 모든 것이 작동합니다. 그러나 맵을 추가하면 모든 것이 작동을 멈 춥니 다. 나는 이유를 모른다. 내 텍스처에 다른 것을 추가해야합니까?지도가 three.js 개체에서 작동하지 않습니다.

+0

1. "작동을 멈추라"는 것은 무엇을 의미합니까? 2.'texture.needsUpdate = true'를 제거하십시오. – WestLangley

+0

작동하지 않았습니다. 작업 중지는 단순히지도에 자료를 추가하려고 할 때마다 내 물건이 사라진다는 것을 의미합니다. 거기에 두 개의 객체 (상자와 텍스트)와 마우스 회전 제어 시스템이 있습니다.이 시스템은 내지도에지도를 추가하지 않으면 작동합니다. 하지만 그렇게하면 상자 (텍스처를 추가하려고하는 객체)가 사라지고 마우스 컨트롤이 작동을 멈 춥니 다. –

+1

답변을 게시하고 수락해야합니다. – Luigi

답변

0

마지막으로 작동했습니다. 나는 두 가지 문제가 있다고 생각한다. 먼저 내 객체에는 텍스처 좌표가 없습니다. 두 번째 아마도 meshbongicaterial보다는 meshbasicmaterial을 사용하는 것이 좋습니다. 그런데 texture.needUpdate 명령이 필요 없습니다. 이제 소재 코드는 다음과 같습니다. material = new THREE.MeshBasicMaterial ({side : THREE.FrontSide, map : THREE.ImageUtils.loadTexture ('index_ABASI.jpg')});

관련 문제