three.js plane buffergeometry uvs



我正在尝试创建一个buffergometry平面,但我在uv坐标方面遇到了问题。我试着遵循正确的UV贴图Three.js,但我没有得到正确的结果。

紫外线代码如下。我还在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;
        }
    }

dev分支中最新的three.js版本现在使用BufferGeometry构建平面:https://github.com/mrdoob/three.js/blob/dev/src/extras/geometries/PlaneGeometry.js

如果你仍然想建立自己的,你可以在那里获得一些灵感。

相关内容

  • 没有找到相关文章

最新更新