Threejs:r47中的geometry.faceVertexUvs与r58中的geometry.faceVertexUvs之间的差异

时间:2013-07-25 09:22:51

标签: canvas maps three.js webgl textures

处理从threejs r47移植到threejs r58的代码的一部分。我有画布2d纹理的问题,其中加载的enter image description here图像被拉伸。

相应的代码段如下:

var geometry = new THREE.SphereGeometry( 200, 80, 60 );
for ( var i = 0, l = geometry.faceVertexUvs[ 0 ].length; i < l; i ++ ) {
    for ( var j = 0, jl = geometry.faceVertexUvs[ 0 ][ i ].length; j < jl; j ++ ) {
        var uv = geometry.faceVertexUvs[ 0 ][ i ][ j ];
        var a = uv.v * Math.PI - Math.PI / 2;
        a = Math.sin(a);
        uv.v = 0.5 - Math.log( ( 1 + a ) / ( 1 - a ) ) / ( 4 * Math.PI );
        uv.v = 1 - uv.v;
    }
}

我认为,从Threejs r47到r58使用geometry.faceVertexUvs的方式有一些变化。任何帮助,热烈欢迎! 提前谢谢......

1 个答案:

答案 0 :(得分:0)

https://github.com/mrdoob/three.js/wiki/Migration

“UV替换为Vector2。这意味着.u和.v现在是.x和.y。” 从r53到r54。也许这有帮助吗? :)