0

处理从threejs r47到threejs r58的部分代码移植。在此处输入图像描述我在拉伸加载的图像时遇到了画布 2d 纹理的问题。

相应的代码片段如下:

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 的使用方式有一些变化。任何帮助,热烈欢迎!提前致谢...

4

1 回答 1

0

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

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

于 2013-07-25T09:32:02.180 回答