Xếp chồng đồ họa lên mô phỏng hạt


7

Làm cách nào để phủ lớp đồ họa lên các mô phỏng hạt? Ví dụ, nếu tôi đại diện cho một chất lỏng hoặc khí với hàng tấn điểm nhỏ, làm thế nào tôi có thể làm cho những điểm đó trông giống như một chất lỏng hoặc khí? Lấy Nvidia Flex làm ví dụ, họ mô phỏng chất lỏng và khí với hàng tấn điểm nhỏ nhưng có thể biến chúng thành chất lỏng và khí thực tế thay vì bóng nhỏ.


1
Bạn đã thử một bề mặt kín với các điểm kiểm soát, tức là nuôi dưỡng hoặc bspline? hoặc công cụ biến dạng hình thức miễn phí? cả hai đều được mô tả bằng cách sử dụng điểm, nhưng di chuyển một điểm bạn làm biến dạng bề mặt được mô tả. (Có nghĩa là trong khi tôi cố gắng thu thập thêm thông tin về vấn đề này). Tôi thậm chí đã suy nghĩ để lồi thân tàu, nhưng tôi không chắc chắn về kết quả, vì một biến dạng chất lỏng có thể không lồi lõm chút nào.
dùng8469759

Câu trả lời:


4

Để kết xuất khí, tôi nghĩ cách tiếp cận thông thường là chỉ đơn giản là kết xuất mỗi hạt dưới dạng một đĩa nhỏ. Khí không thực sự kết lại vào các bề mặt như chất lỏng, vì vậy điều này sẽ tạo ra kết quả chấp nhận được. Bạn có thể có thể áp dụng một vệt mờ trên lớp khí sau đó để làm mềm nó và che giấu sự thật rằng nó được làm từ các yếu tố rời rạc.

Mặt khác, chất lỏng có xu hướng kết hợp lại với nhau để tạo thành các giọt và bề mặt nhẵn, vì vậy bạn cần lấy một bề mặt từ các hạt bằng cách nào đó. Một cách để làm điều này là sử dụng Metaballs , cũng hiển thị hành vi này và có thể được điều chỉnh để phù hợp với các chất lỏng và mật độ hạt khác nhau. Bằng cách giải thích mỗi hạt là một metaball, bạn sẽ có một phương trình ngầm biểu thị bề mặt chất lỏng của bạn. Để hiển thị bề mặt ẩn này, sau đó bạn có thể sử dụng thuật toán như Marching Tetrahedra để chuyển đổi nó thành hình tam giác hoặc sử dụng Ray Marching để trực tiếp kết xuất nó. (Diễu hành Ray có thể dễ dàng thực hiện trong thời gian thực trong một shader mảnh trong những ngày này.) Bạn cũng có thể sử dụng phương pháp này cho khí nếu bạn muốn có một cái nhìn nhẹ nhàng hơn.


-1

Một tài liệu tham khảo tốt cho vật lý trò chơi là này chương 4 mô tả bề mặt biến dạng tự do cơ bản (NURBS và bspline là tất nhiên được trích dẫn và điều trị đủ tốt) chất lỏng và khí được điều trị thay vì trong chương năm (về cơ bản là tác giả derivate đơn giản hóa mô hình của Stokes phương trình Navier, phù hợp với các ứng dụng thời gian thực).

Vì vậy, thực sự tôi đoán những gì tôi đã viết bình luận bài viết của bạn là chính xác, tức là kết hợp biến dạng vật lý của điểm kiểm soát hình dạng của bề mặt với tính toán ffd.

Cuốn sách tôi đã trích dẫn nên cung cấp ở đâu đó / bằng cách nào đó trên mã nguồn web và chính nó đã trích dẫn một số ví dụ liên quan đến kỹ thuật tôi đã trích dẫn. Nếu đó là những gì bạn cần cho tôi biết để được giải thích cụ thể hơn.


1
Có lẽ bạn có thể mở rộng câu trả lời của mình để nó khép kín. Đọc nó mà không có liên kết và nội dung của nó, câu trả lời không rõ ràng lắm.
Bart

Trên thực tế tôi nghĩ rằng "ý tưởng" (không phải việc thực hiện) là khá rõ ràng. @Cristian cho biết ông đã thực hiện mô phỏng trên một tập hợp các điểm, về cơ bản, ông nên xem xét tập hợp các điểm vì chúng thuộc một bề mặt có thể biến dạng (tức là một bề mặt liên tục được mô tả bởi một tập hợp các điểm riêng biệt), sau đó khi vị trí các điểm được cập nhật hình dạng bề mặt quá được cập nhật. Hiệu quả phụ thuộc vào những gì anh ấy muốn cụ thể đạt được, nhưng tôi cho rằng anh ấy muốn sử dụng một loại "liên tục" thay vì một tập hợp điểm rời rạc.
dùng8469759

Ngoài ra ... tôi không biết tại sao tôi không thể sử dụng các công thức ở đây ... nhưng tất nhiên chúng sẽ hữu ích cho một lời giải thích chi tiết hơn. Tuy nhiên, tài liệu tham khảo tốt về mặt vật lý là bất kỳ cuốn sách về động lực học tính toán nào, để hiển thị vật lý trò chơi tất nhiên, các phương pháp đơn giản cũng có thể được tìm thấy trong văn học. Đối với "mã" tự nó phụ thuộc vào môi trường mà anh ta đang sử dụng, anh ta thậm chí có thể tìm thấy một triển khai hoàn chỉnh trên bộ công cụ CUDA, tôi không chắc về openCL, ngay cả SDK DirectX trình bày một số ví dụ về mô phỏng chất lỏng (đặc biệt là phiên bản cuối cùng, nhưng có lẽ nó mô phỏng sử dụng tấn điểm quá).
dùng8469759

3
Sự hiểu biết của tôi về câu hỏi là tác giả có phần mô phỏng, nhưng chỉ hỏi về trực quan hóa. Tôi nghĩ rằng sẽ khá khó khăn để tạo ra các bộ miếng vá spline thể hiện thỏa đáng "hình dạng" của nước, và có rất ít chi tiết về câu trả lời này về cách bạn làm điều đó.
yuriks

Nhiều người trong chúng ta muốn thấy khả năng sử dụng MathJax cho các công thức và rất nhiều trang SE khác đã có nó. Tất cả chúng ta cần làm là chứng minh một nhu cầu cho nó. Bất kỳ câu hỏi nào sẽ được hưởng lợi từ MathJax, chỉ cần thêm một liên kết đến chúng cho câu trả lời meta này .
trichoplax
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.