0

我一直在关注本教程,创建一个带有纹理的立方体。问题是,纹理在立方体的每个面上都重复出现。我想使用一个“包裹”立方体的单一纹理。这可能吗?

// material
var material = new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture('http://www.html5canvastutorials.com/demos/assets/crate.jpg')
});
// this has no effect!
material.wrapAround = true;

// cube
var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), material);
cube.overdraw = true;
cube.rotation.x = Math.PI * 0.1;
scene.add(cube);
4

1 回答 1

2

通常,使用 THREE.CubeGeometry,您可以:

(1) 选择在立方体每一面重复的单一纹理,或
(2) 为六个面中的每一面使用不同的纹理

您还可以使用重复纹理在每一侧显示的次数。

有关其中每个示例,请查看演示的源代码:

http://stemkoski.github.io/Three.js/Textures.html

http://stemkoski.github.io/Three.js/Texture-Repeat.html

希望这可以帮助!

于 2013-06-18T17:15:58.097 回答