2012-06-26 30 views
5

Tôi đang vật lộn với một hình ảnh tôi đang làm việc trên đó liên quan đến một dòng hình ảnh lặp đi lặp lại. Tôi có nó làm việc với một sprite duy nhất với một ParticleSystem, nhưng tôi chỉ có thể áp dụng một vật liệu duy nhất cho hệ thống. Vì tôi muốn chọn giữa các hoạ tiết, tôi đã thử tạo một nhóm các đối tượng Particle để tôi có thể chọn riêng từng tài liệu, nhưng tôi không thể lấy một Particle riêng lẻ để hiển thị với trình kết xuất WebGL.Hạt vs ParticleHệ thống trong ba.js

Đây là bước đột phá đầu tiên của tôi vào WebGL/Three.js, vì vậy tôi có thể đang làm một cái gì đó có đầu xương, nhưng tôi nghĩ sẽ đáng để hỏi cách thích hợp để thực hiện điều này là gì. Tôi nhìn thấy ba khả năng:

  • Tôi đang sử dụng sai hạt (khởi tạo với tài liệu được ánh xạ, thêm vào cảnh, vị trí thiết lập) và tôi cần sửa những gì tôi đang làm.
  • Tôi cần một ParticleSystem cho mỗi sprite tôi muốn hiển thị.
  • Những gì tôi đang làm không phù hợp với các hạt và tôi thực sự nên sử dụng một loại đối tượng khác.

Tất cả các ví dụ tôi thấy bằng trình kết xuất canvas sử dụng Particle trực tiếp, nhưng tôi không thể tìm thấy ví dụ sử dụng trình kết xuất WebGL không sử dụng ParticleSystem. Bất kỳ gợi ý nào?

Trả lời

4

Ok, tôi sẽ đọc từ những gì tôi đã đọc ở nơi khác trên github issues page này. Bạn nên bắt đầu bằng cách đọc nó. Có vẻ như Particle chỉ đơn giản là cho Canvas Renderer, và nó sẽ trở thành Sprite trong một phiên bản tiếp theo của Three.JS. ParticleSystem, tuy nhiên sẽ không thỏa mãn nhu cầu của bạn. Tôi không nghĩ rằng các lớp học này sẽ giúp bạn thực hiện điều này trong WebGL ở chế độ 3D. Tùy thuộc vào những gì bạn đang làm, bạn có thể tốt hơn với CanvasRenderer. ParticleSystem sẽ chỉ cho phép bạn áp dụng một vật liệu duy nhất sẽ làm nguyên liệu cho từng hạt trong hệ thống như bạn đã đề xuất.

+1

Xin cảm ơn, @Cory. Đó chính xác là thông tin tôi đang tìm kiếm! – zenmoto

1

Câu trả lời ngắn: Bạn chỉ có thể hiển thị THREE.Particle chỉ sử dụng THREE.CanvasRenderer.

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