正确的UV映射Three.js

1 javascript texture-mapping uv-mapping three.js

我正在尝试正确映射UV纹理,但失败了......

我的应用程序中有下一个结果:

在此输入图像描述

结果并不是我在等待.我想要下一个描述的视图:

在此输入图像描述

源代码在这里:

http://pastebin.com/aDg981Bk

Wes*_*ley 5

您需要查看PlaneGeometry.js并了解UV的设置方式.然后你就可以弄清楚如何重置它们.这应该工作 - 每个"面"有两个三角形.

for(var i = 0; i < geometry.faces.length / 2; i++) {

    geometry.faceVertexUvs[ 0 ].push(
    [
        new THREE.Vector2( 0, 0 ),
        new THREE.Vector2( 0, 1 ),
        new THREE.Vector2( 1, 0 ),    
    ] );

    geometry.faces[ 2 * i ].materialIndex = i;

    geometry.faceVertexUvs[ 0 ].push(
    [
        new THREE.Vector2( 0, 1 ),
        new THREE.Vector2( 1, 1 ),
        new THREE.Vector2( 1, 0 ),    
    ] );

    geometry.faces[ 2 * i + 1 ].materialIndex = i;

    materials.push( createTexture( i ) );

}    

//geometry.computeFaceNormals(); // not needed
//geometry.dynamic = true; // not needed
//geometry.uvsNeedUpdate = true; // not needed since plane has not been rendered yet    
Run Code Online (Sandbox Code Playgroud)

three.js r.62