这里我碰到了这个问题,因为我需要将两个几何体(或网格)合并为一个。使用three.js的早期版本有一个很好的功能:如何使用three.js r71合并两个几何体或网格物体?
THREE.GeometryUtils.merge(pendulum, ball);
但是,它不在新版本了。
我试图合并pendulum
和ball
用下面的代码:
ball
是网状。
var ballGeo = new THREE.SphereGeometry(24,35,35);
var ballMat = new THREE.MeshPhongMaterial({color: 0xF7FE2E});
var ball = new THREE.Mesh(ballGeo, ballMat);
ball.position.set(0,0,0);
var pendulum = new THREE.CylinderGeometry(1, 1, 20, 16);
ball.updateMatrix();
pendulum.merge(ball.geometry, ball.matrix);
scene.add(pendulum);
毕竟,我得到了以下错误:
THREE.Object3D.add: object not an instance of THREE.Object3D. THREE.CylinderGeometry {uuid: "688B0EB1-70F7-4C51-86DB-5B1B90A8A24C", name: "", type: "CylinderGeometry", vertices: Array[1332], colors: Array[0]…}THREE.error @ three_r71.js:35THREE.Object3D.add @ three_r71.js:7770(anonymous function) @ pendulum.js:20
_“不用为没有泰勒康普顿的事迹在生活中” _ - _Lady Galadriel_ 感谢这个 – LaughingMan