0

我有一组地形纹理。它们的大小都相同。它当前将整个图像映射到纹理。如何将纹理仅映射到图像的一部分而不是整个图像?我知道变通方法,但我想知道 Three.js 是否有内置的方法。

var image = new Image();
image.onload = function () {
    texture.needsUpdate = true;
};
image.src = path;
var texture = new THREE.Texture(image, new THREE.UVMapping(), THREE.ClampToEdgeWrapping, THREE.ClampToEdgeWrapping, THREE.NearestFilter, THREE.LinearMipMapLinearFilter);

return new THREE.MeshBasicMaterial({
    map: texture
});
4

1 回答 1

1

简短的回答是,当您想要在单个网格上使用多个纹理时, Three.js 不支持内置它。

最简单的方法是将混乱分成不同的部分,或者当您确定使用少于 16 个纹理时,您可以使用着色器材质。

于 2012-11-13T09:29:27.350 回答