2014-04-13 4 views
0

나는 버퍼계 평면을 만들려고하고 있는데, 나는 uv 좌표에 문제가있다. Correct UV mapping Three.js을 따르려고했지만 아직 올바른 결과를 얻지 못했습니다.three.js plane buffergeometry uvs

uv 코드는 다음과 같습니다. 또한 전체 버퍼 게이지 코드를 http://jsfiddle.net/94xaL/에 저장했습니다.

나는 여기서 내가 잘못하고있는 것에 대한 힌트를 주셔서 감사합니다!

감사합니다.

var uvs = terrainGeom.attributes.uv.array; 
    var gridX = gridY = TERRAIN_RES - 1; 
    for (iy = 0; iy < gridY; iy++) { 
     for (ix = 0; ix < gridX; ix++) { 

      var i = (iy * gridY + ix) * 12; 

      //0,0 
      uvs[ i ] = ix/gridX 
      uvs[ i + 1 ] = iy/gridY; 

      //0,1 
      uvs[ i + 2 ] = ix/gridX 
      uvs[ i + 3 ] = (iy + 1)/gridY; 

      //1,0 
      uvs[ i + 4 ] = (ix + 1)/gridX 
      uvs[ i + 5 ] = iy/gridY; 

      //0,1 
      uvs[ i + 6 ] = ix/gridX 
      uvs[ i + 7 ] = (iy + 1)/gridY; 

      //1,1 
      uvs[ i + 8 ] = (ix + 1)/gridX 
      uvs[ i + 9 ] = (iy + 1)/gridY; 

      //1,0 
      uvs[ i + 10 ] = (ix + 1)/gridX 
      uvs[ i + 11 ] = iy/gridY; 
     } 
    } 
+0

jsfiddle을 편집하여 시각적으로 출력 할 수 있도록하십시오. 잘못된 경우에도. – gaitat

+0

여기 : http://jsfiddle.net/94xaL/1/ jsfiddle도 디버깅하기에는 너무 늦었습니다. 그러나 여기에 전체 내용을 업로드했습니다 : http://lizkats.com/temp/shaderBlack/examples/skulpt_terrain.html – Doidel

+0

(BufferGeometryUtils가 PlaneGeometry를 BufferGeometry로 변환하는 방법에 따라) 평면 버퍼 게이지를 만들었고 이제는 모두 작동합니다. 그러나 그것은 끔찍합니다.면이 생성되는 방식 때문에 같은 정점이 최대 8 번 정의됩니다. 이를 피할 수있는 방법이 있습니까? 예 : buffergeometry에게 얼굴을 만드는 법을 규칙으로 말하면서? 나중에 내 솔루션을 답변으로 추가하겠습니다. – Doidel

답변

관련 문제