Javascript Three.js使用不同的纹理进行合并
我有一个场景,有两个单独的网格。 看起来是这样的:Javascript Three.js使用不同的纹理进行合并,javascript,typescript,merge,three.js,textures,Javascript,Typescript,Merge,Three.js,Textures,我有一个场景,有两个单独的网格。 看起来是这样的: this.loadFiles("gras", (gras) => { var particleMaterial = new THREE.MeshPhongMaterial(); particleMaterial.map = THREE.ImageUtils.loadTexture("models/planets/gras.jpg"); particleMaterial.side =
this.loadFiles("gras", (gras) => {
var particleMaterial = new THREE.MeshPhongMaterial();
particleMaterial.map = THREE.ImageUtils.loadTexture("models/planets/gras.jpg");
particleMaterial.side = THREE.DoubleSide;
this.mesh = new THREE.Mesh(gras,particleMaterial);
this.loadFiles("rocks", (rocks) => {
var particleMaterial = new THREE.MeshPhongMaterial();
particleMaterial.map = THREE.ImageUtils.loadTexture("models/planets/rocks.jpg");
particleMaterial.side = THREE.DoubleSide;
this.rocks = new THREE.Mesh(rocks,particleMaterial);
callback(this);
});
});
现在我想把网格合并在一起。但是我如何组合纹理呢
this.loadFiles("gras", (gras) => {
this.loadFiles("rocks", (rocks) => {
var geometry = new THREE.Geometry;
THREE.GeometryUtils.merge(geometry,gras);
THREE.GeometryUtils.merge(geometry,rocks);
var particleMaterial = new THREE.MeshPhongMaterial();
particleMaterial.map = THREE.ImageUtils.loadTexture("models/planets/gras.jpg");
particleMaterial.side = THREE.DoubleSide;
this.mesh = new THREE.Mesh(geometry,particleMaterial);
callback(this);
});
});
合并将使用不同材质渲染的几何体没有任何意义。无论如何,渲染器都必须取消合并几何体。为什么不呢?我将创建一个合并的纹理文件和一个合并的几何体。如果我不合并它,渲染器必须处理更多的点,用户无论如何都看不到这些点。我想你的标题暗示你想使用
3。多材质与合并几何体一起使用。。。是否要将单个材质与合并的几何体一起使用?另外,除非你有性能问题,否则不要担心性能。哦,我的错!我不知道有三种物质存在。是的,我想用其他材质的纹理创建一个材质。@WestLangley有什么想法我可以实现这个吗?