我有一组地形纹理。它们都是相同的尺寸。它目前将整个图像映射到纹理。如何将纹理仅映射到图像的一部分而不是整个图像?我知道解决方法,但我想知道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
});
答案 0 :(得分:1)
简短的回答是,当您想在单个网格上使用多个纹理时,Three.js不支持它内置。
最简单的方法是将碎片分成不同的部分,或者当你确定使用少于16个纹理时,可以使用着色材料。