Làm thế nào để kết xuất các hạt 2D dưới dạng chất lỏng?


45

Giả sử bạn có một cách hay để di chuyển các hạt 2D của mình để mô phỏng một chất lỏng (như nước). Bất kỳ ý tưởng về làm thế nào để làm cho nó?

Đây là một trò chơi 2D, trong đó phối cảnh từ bên cạnh, như thế này . Nước sẽ được chứa trong các hộp có thể bị vỡ để cho nó rơi xuống và tương tác với các vật thể khác. Cách đơn giản nhất mà tôi nghĩ đến là sử dụng một hình ảnh nhỏ cho mỗi hạt. Tôi thích nghe nhiều cách dựng nước hơn.

Câu trả lời:


28

Kiểm tra PixelJunk Shooter đã làm điều đó (bao gồm cả mô phỏng) trong bản trình bày này (PDF) tại GDC2010.


Mẫu ảnh chụp PixelJunk


1
Không biết PixelJunk ... thực sự là một tổng thống tốt đẹp. Cảm ơn bạn!
luke

Một liên kết đến đoạn phim quảng cáo :)
David Gouveia


SPU, PPU, SPURS là gì?
Martijn Courteaux

@MartjinCourteaux: chúng là một phần của CPU di động của PS3. Hãy nghĩ về chúng như các shader GPU, mặc dù có một số khác biệt chính.
Sean Middleditch

12

Câu trả lời của George Duckett trực tiếp hơn và thực sự được trình bày tốt nếu bạn cần nước mô phỏng đầy đủ trong trò chơi của mình. Đối với vật lý nước nông mô phỏng với độ chính xác tối thiểu (ít hiện thực hơn, vui tươi hơn), hình ảnh này đã cho tôi một khoảnh khắc rõ nét đáng kinh ngạc:

http://www.patrickmatte.com/ ware / PhysicsL Liquid /


Đơn giản và tốt đẹp! Không thực sự nghĩ rằng sử dụng một bước xử lý hậu kỳ đơn giản như vậy ... chỉ tự hỏi liệu một thiết bị như iPhone sẽ xử lý việc này. Nó có vẻ là một điểm khởi đầu tốt. Cám ơn.
luke

Tôi có thể bảo đảm cho phương pháp này. Tôi đã sử dụng nó một lần trong một dự án và nó hoạt động rất đẹp. Thêm một bộ lọc vát và bạn cũng có thể có một sụn tốt trên các đốm màu của bạn.
kịch bản

Siêu mát! Nhưng tôi không chắc nó sẽ phù hợp với nhân vật đi dạo qua nó đến mức nào. Nó sẽ đẩy tất cả các quả cầu sang một bên, phải không?
Tối đa

6

Hoặc, đối với một cách tiếp cận nhanh chóng và dễ dàng: Sử dụng metaballs !

Siêu thị 3d


5

Grant Kot đã đưa một số mã mô phỏng chất lỏng của mình lên Github với các triển khai trong cả javascript (canvas) và C ++ với OpenFrameworks: https://github.com/kotsoft

Anh ấy có một vài bản demo trên tài khoản youtube của mình: http://youtu.be/HqWheJSEiaw

Tôi không biết nó hoạt động như thế nào, nhưng tôi biết nó chạy rất nhanh và có đủ loại biến thể để xây dựng với nó. Một từ khóa tốt để tìm kiếm có thể là "các hạt đa lượng".


Tôi thực sự thích cách Grant Kot mô phỏng chất lỏng! Ngay cả khi kết xuất là tối thiểu, ít nhất là trên applet trên các trang web đó. Nó như là rất nhiều paremeter để kiểm soát mô phỏng. Đáng để nhìn sâu hơn vào nó. Cám ơn.
luke
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.