2013-05-29 33 views
7

Tôi cần chọn lọc hiển thị/ẩn 1000 dòng có kích thước, vị trí và màu sắc khác nhau.Sửa đổi đỉnh trong đối tượng THREE.BufferGeometry

Lần thử đầu tiên của tôi là THREE.Geometry với tên cho mỗi. Để ẩn/hiện tôi lặp qua cảnh và ẩn/hiển thị trên mỗi dựa trên tên và heuristic của tôi. Điều đó có vẻ rất chậm - khoảng 50Hz cho ~ 1000 dòng.

Tôi đã thử nghiệm bằng cách sử dụng phương pháp tương tự nhưng chỉ sử dụng một BA.Geometry đơn để giữ tất cả các dòng. Đó là nhanh hơn nhiều nhưng tất nhiên nhưng tôi chỉ có thể áp dụng một tài liệu cho tất cả các dòng đó là không tốt. Tôi đã có thể thiết lập các cờ bên phải và cập nhật vị trí của các dòng trong khi ứng dụng đang chạy.

Cách tiếp cận tốt nhất có vẻ là sử dụng BA.BufferGeometry. Tôi đã thực hiện một bài kiểm tra rất nhanh và hoạt động như mong đợi cho thiết lập ban đầu nhưng tôi không thể thay đổi vị trí/khả năng hiển thị và màu sắc của mỗi dòng sau đó. Tôi đã tạo ra một fiddle JS minh họa nó - http://jsfiddle.net/SSnKk/ - nhưng gọi buffer_geometry.dynamic = true;buffer_geometry.verticesNeedUpdate = true; không xuất hiện để trợ giúp.

Trả lời

11

Bạn cần phải gọi fiddle

buffer_geometry.attributes.position.needsUpdate = true; 
buffer_geometry.attributes.color.needsUpdate = true; 

Cập nhật: jsfiddle.net/hjx3rLmt/1

three.js r.76

+0

đó đã làm việc một cách hoàn hảo - cảm ơn bạn Tây Langley. – speedwell

+0

Tiếp theo từ đó - Tôi muốn có các dòng bắt đầu từ nguồn gốc. Khi tôi thay đổi vị trí bắt đầu, tôi không thấy những gì tôi mong đợi. Có thể sử dụng hình học đệm với một tập hợp các dòng tại các vị trí tùy ý không? Ví dụ ở đây: http://jsfiddle.net/9nVqU/ – speedwell

+0

Hãy tạo một bài đăng mới với câu hỏi mới của bạn. – WestLangley

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