Tôi đang tìm kiếm bất kỳ đầu vào nào trên mô phỏng nước ở dạng 2D, dựa vào một mảng khá lớn (gọi nó) bị chặn / không bị chặn (nhìn từ bên cạnh). Tôi đã đưa ra những ý tưởng sau đây:
Tế bào tự động
Thực hiện mô phỏng parralel ồ ạt trên CPU, sử dụng cell automata . Với các quy tắc đơn giản như:
- Nếu có một ô mở xuống phía dưới di chuyển đến nó.
- Kiểm tra các ô bên trái và bên phải, chọn một ô ngẫu nhiên trong số hai ô và di chuyển đến ô đó.
Ưu
- Đơn giản để thực hiện.
- Có ý nghĩa / xác định trong một hệ thống nhiều người chơi.
Nhược điểm
- Có lẽ thực sự chậm.
- Không thuyết phục.
Động lực học trên GPU
Thực hiện xấp xỉ sơ bộ động lực học chất lỏng trên GPU dựa trên kết cấu như sau:
+------+-----+-----+-------+
|R |G |B |A |
+------+-----+-----+-------+
|vX |vY |NULL |Density|
+------+-----+-----+-------+
Ưu
- Có lẽ thực sự nhanh chóng.
- Có thể khá thuyết phục.
- Một pixel shader tiếp theo có thể khiến nó trực tiếp.
Nhược điểm
- Khó thực hiện.
- Khó chỉnh.
- Tôi không thể phân bổ một kết cấu duy nhất kích thước của cấp độ của tôi.
- Tôi có thể chồng lấp các khu vực lưới, nhưng điều này sẽ thêm phức tạp.
Các hạt
Sử dụng các hạt để mô phỏng nước. Trong quá trình kết xuất bằng cách sử dụng trộn phụ gia và sau đó áp dụng hàm nhân cho kênh alpha để tạo ra các cạnh sắc nét.
Ưu
- Có lẽ sẽ nhìn tốt đẹp.
- Dễ để thực hiện.
- Dễ dàng để kết xuất.
- Có ý nghĩa trong một hệ thống nhiều người chơi, mặc dù sẽ cần khá nhiều băng thông để chuyển.
Nhược điểm
- Hiệu ứng liên hạt có thể sẽ chậm (tra cứu khu phố).
- Có thể dẫn đến nước 'rò rỉ' qua các không gian rắn (vì không gian rắn nhỏ, ví dụ 1px).
- Có thể dẫn đến các lỗ lạ trong nước tùy thuộc vào kích thước hạt.
- Cả hai điều trên có thể được giảm thiểu bằng cách cho phép các hạt trôi gần nhau hơn kích thước thật của chúng, tuy nhiên sẽ gây ra vấn đề với hiệu suất giữa các hạt và hạt / cảnh.
Còn ý tưởng nào nữa không?
Lưu ý: Đây là một xấp xỉ, tôi không tìm kiếm nước chính xác ở đây - chỉ là thứ gì đó 'đủ tốt' (điểm thưởng cho nhanh và bẩn). Trò chơi là nhiều người chơi, vì vậy thật không may, toàn bộ cấp độ cần phải được mô phỏng liên tục.