2013-08-15 25 views
21

Theo tôi được biết, Geometry cửa hàng một cấu trúc đối tượng javascript của các đỉnh và khuôn mặt và BufferGeometry chỉ lưu trữ các dữ liệu gl liệu qua Float32Arrays vvTransforming Geometry để BufferGeometry

Có cách nào để biến Geometry tiêu chuẩn vào BufferGeometry , đó là rất nhiều bộ nhớ nhỏ gọn với các đối tượng ít hơn? Ví dụ, nếu tôi tạo ra một SphereGeometry mới, có cách nào để dễ dàng chuyển đổi nó thành một BufferGeometry?

Trả lời

31

Bạn đang gặp may.

var bufferGeometry = new THREE.BufferGeometry().fromGeometry(geometry); 

EDIT: cập nhật để Three.js r.76

+0

Tôi chỉ cố gắng sử dụng này (thương hiệu spanking mới, huh) nhưng khuôn mặt không chuyển qua. Tôi đã thử thiết lập thuộc tính khuôn mặt không tồn tại trên hình học bộ đệm với hình dạng cũ, nhưng không có con xúc xắc. – Axiverse

+1

Làm việc cho tôi. Mặt tứ không được hỗ trợ trong r.60, chỉ có tris. Bước qua mã với trình gỡ lỗi. Bạn có thể tìm ra vấn đề là gì. – WestLangley

+0

Ah, vâng tôi đã thấy điều đó và làm một cái gì đó dựa trên mã đó. Cảm ơn! Chuyển các hình cầu của tôi sang BufferGeometry: http://i.imgur.com/UCB1f61.png – Axiverse

Các vấn đề liên quan