Ở đây tôi gặp phải vấn đề này vì tôi cần hợp nhất hai hình học (hoặc mắt lưới) thành một hình. Sử dụng các phiên bản trước của ba.js có một chức năng tốt đẹp:Làm thế nào để kết hợp hai hình học hoặc mắt lưới bằng cách sử dụng ba.js r71?
THREE.GeometryUtils.merge(pendulum, ball);
Tuy nhiên, nó không còn trên phiên bản mới nữa.
Tôi cố gắng để kết hợp pendulum
và ball
với đoạn mã sau:
ball
là một lưới.
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);
Sau khi tất cả, tôi đã nhận lỗi sau:
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
_ "Không cần là không ai trong số những hành động của Tyler Crompton trong cuộc sống" _ - _Lady Galadriel_ Cám ơn này – LaughingMan