長方形のジオメトリ (W x H サイズ) とテクスチャ (2*W x H) があり、その半分だけを表示する必要があります。
...
var pageGeometry = new THREE.PlaneGeometry(pageWidth, pageHeight, 1, 1);
var texture = someTexture;
pageGeometry.faceVertexUvs[0] = [];
pageGeometry.faceVertexUvs[0].push([
new THREE.Vector2(0.5, 1),
new THREE.Vector2(0.5, 0),
new THREE.Vector2(1, 0),
new THREE.Vector2(1, 1)]);
var page = new THREE.Mesh(
pageGeometry,
new THREE.MeshLambertMaterial({
color: options.background,
map: texture
})
);
それは動作しますが、いくつかの回転 (90 度) の後、テクスチャ オフセットを変更する必要があります。
page.geometry.faceVertexUvs[0] = [];
page.geometry.faceVertexUvs[0].push([
new THREE.Vector2(0, 1),
new THREE.Vector2(0, 0),
new THREE.Vector2(0.5, 0),
new THREE.Vector2(0.5, 1)]);
page.material = new THREE.MeshLambertMaterial({
color: options.background,
map: textureNext
});
しかし、それは機能しません。のオフセットは同じままです。