问题
I'm trying to map the UV-texture correctly, but failing...
I've got the next result in my app:
The result isn't that I was awaiting. I want to have the next described view:
The source code is here:
http://pastebin.com/aDg981Bk
回答1:
You need to look at PlaneGeometry.js
and understand how the UVs are set. Then you will be able to figure out how to reset them. This should work -- there are two triangles per "face".
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
three.js r.62
来源:https://stackoverflow.com/questions/19891507/correct-uv-mapping-three-js