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 に答える