处理从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的方式有一些变化。任何帮助,热烈欢迎! 提前谢谢......
答案 0 :(得分:0)
https://github.com/mrdoob/three.js/wiki/Migration
“UV替换为Vector2。这意味着.u和.v现在是.x和.y。” 从r53到r54。也许这有帮助吗? :)