0

buffergeometry プレーンを作成しようとしていますが、UV 座標に問題があります。正しい UV マッピング Three.jsに従おうとしましたが、正しい結果が得られません。

uvコードは以下です。また、buffergeometry コード全体を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;
        }
    }
4

1 に答える 1

0

dev ブランチの最新の three.js バージョンは、BufferGeometry を使用して平面を構築するようになりました: https://github.com/mrdoob/three.js/blob/dev/src/extras/geometries/PlaneGeometry.js

それでも独自のものを構築したい場合は、そこでインスピレーションを得ることができます。

于 2014-04-16T09:03:50.390 に答える