1

次のコードでは、四角形のテクスチャを設定したいのですが、問題はテクスチャ イメージが四角形全体で繰り返されないことです。

var penGeometry = new THREE.CubeGeometry(length, 15, 120);
var wallTexture = new THREE.ImageUtils.loadTexture('../../3D/brick2.jpg');
wallTexture.wrapS = wallTexture.wrapT = THREE.MirroredRepeatWrapping;
wallTexture.repeat.set(50, 1);
var wallMaterial = new THREE.MeshBasicMaterial({ map: wallTexture });
var line = new THREE.Mesh(penGeometry, wallMaterial);
line.position.x = PenArray.lastPosition.x + (PenArray.currentPosition.x - PenArray.lastPosition.x) / 2;
line.position.y = PenArray.lastPosition.y + (PenArray.currentPosition.y - PenArray.lastPosition.y) / 2;
line.position.z = PenArray.lastPosition.z + 60;
line.rotation.z = angle;

テクスチャ画像はhttp://wysnan.com/NightClubBooth/brick1.jpg 結果はhttp://wysnan.com/NightClubBooth/brick2.jpgです

テクスチャの一部だけが正しくレンダリングされますが、すべての四角形はレンダリングされません。なぜですか? そして、このテクスチャ イメージですべての四角形をレンダリングする方法は?

4

1 に答える 1

3

繰り返しラッピングの場合、テクスチャのサイズは 2 のべき乗 (POT) でなければなりません。

例: ( 512 x 512 ) または ( 512 x 256 )。

three.js r.58

于 2013-05-03T13:38:33.567 に答える