首页 > 解决方案 > 如何保持合并几何的单独材料

问题描述

我设法合并了 2 个几何图形,即平面和文本。但是这两种材料最后必须分开。这个怎么做 ?

 const globalMaterial = new THREE.MeshBasicMaterial({ color: 0xff0000 });
const texture = THREE.ImageUtils.loadTexture(
  "http://127.0.0.1:8080/pin_png/img_gps_dasloop_online.png"
);
texture.minFilter = THREE.LinearFilter;
const workerMaterial = new THREE.MeshBasicMaterial({
  map: texture,
  side: THREE.DoubleSide,
});
const planeGeometry = new THREE.PlaneGeometry(1, 1);
const textGeometry = new THREE.TextGeometry(`Id : ${dbId}`, {
  font: "monaco",
  size: 1,
  height: 0,
  curveSegments: 3,
});
textGeometry.computeBoundingBox();

const workerIdMesh = new THREE.Mesh(textGeometry, globalMaterial);
const workerMesh = new THREE.Mesh(planeGeometry, workerMaterial);

// Merging
modelGeometry.merge(workerMesh.geometry, workerMesh.matrix);
modelGeometry.merge(workerIdMesh.geometry, workerIdMesh.matrix);
modelGeometry.computeVertexNormals();
const workerBufferGeometry = new THREE.BufferGeometry().fromGeometry(
  modelGeometry
);
this.humanModel = new THREE.Mesh(workerBufferGeometry, workerMaterial);

标签: three.jsgeometrybuffer-geometry

解决方案


推荐阅读