THREE.Shape
オブジェクトを使用して、角の丸い立方体を正常に描画しています。
var shape = new THREE.Shape();
x = width/2;
y = height/2;
shape.moveTo(x - radius, y);
//*** Top right
x = -width/2;
y = height/2;
shape.lineTo(x + radius, y);
if (tr) shape.quadraticCurveTo(x, y, x, y - radius);
else shape.lineTo(x, y);
//*** Bottom right
x = -width/2;
y = -height/2;
shape.lineTo(x, y + radius);
if (br) shape.quadraticCurveTo(x, y, x + radius, y);
else shape.lineTo(x, y);
//*** Bottom left
x = width/2;
y = -height/2;
shape.lineTo(x - radius, y);
if (bl) shape.quadraticCurveTo(x, y, x, y + radius);
else shape.lineTo(x, y);
//*** Top left
x = width/2;
y = height/2;
shape.lineTo(x, y - radius);
if (tl) shape.quadraticCurveTo(x, y, x - radius, y);
else shape.lineTo(x, y);
var extrude = this.shape.extrude({amount: extr || 0, bevelEnabled: false});
this.mesh = new THREE.Mesh(extrude, mat);
問題は、このメッシュを と同じように扱いCubeGeometry
、ビットマップ (および最終的にはビデオ) テクスチャでテクスチャリングする必要があることです。現在の結果は、立方体の前面が 4 つの等しいセグメントに分割され、それぞれがビットマップのピクセル データのように見えるものの単一の色です。この例では、立方体の前面のみに関心があります。