Trong dự án của tôi, tôi đang tạo ra một hệ thống làm biến dạng một lưới (quần áo) có độ chi tiết cao để nó 'vừa' một lưới lồi. Để làm điều này, tôi sử dụng bản đồ độ sâu của vật phẩm và 'thân tàu' để xác định tại điểm nào trong không gian thế giới, độ lệch xảy ra và phạm vi.
Chỉ đơn giản là chuyển đổi tất cả các đỉnh bị che khuất thành độ sâu như được xác định bởi 'thân tàu' là khá hiệu quả và có hiệu suất tốt, nhưng nó gặp phải vấn đề không bảo tồn các tính năng của lưới và yêu cầu loại bỏ rộng rãi để tránh hiện tượng sai.
Thay vào đó, tôi muốn tạo ra từ bản đồ độ lệch sâu một tập hợp các 'biến dạng' đơn giản sẽ 'đẩy' * tất cả các đỉnh của lưới bị biến dạng ra ngoài (trong không gian thế giới). Bằng cách này, tất cả các tính năng của lưới được bảo tồn và không cần phải có các phương pháp phỏng đoán phức tạp để loại bỏ các đỉnh không phù hợp.
Tôi không chắc chắn làm thế nào để đi về việc tạo ra bộ biến dạng này tuy nhiên. Tôi đang tưởng tượng một cái gì đó giống như một thuật toán cố gắng khớp một bề mặt hình cầu với từng mảng sai lệch tiếp giáp trong một phạm vi nhất định, nhưng không biết bắt đầu làm việc này ở đâu.
Bất cứ ai cũng có thể đề xuất một bộ lọc hoặc thuật toán phù hợp để tạo ra các biến dạng? Hay nói cách khác là "nén" bản đồ độ sâu?
(* Đẩy vì nó phù hợp với hình người 'lồi' lồi nên các phép biến đổi có khả năng là 'hình cầu' từ POV của bề mặt.)
Chỉnh sửa: Đây là một hình ảnh / sơ đồ được gợi ý đúng để minh họa những gì tôi đang cố gắng đạt được.
Ngoài ra, tôi nên nói vì câu hỏi này đã được đăng, tôi đã làm việc nhiều hơn về vấn đề này, và mặc dù tôi không bao giờ giải quyết làm thế nào để có được các biến dạng, cuối cùng tôi đã quyết định rằng bản đồ độ sâu cho điều này là không phù hợp như:
- Nếu lưới bị biến dạng không hoàn thành, có thể lấy các texels trong bản đồ có nghĩa là ở phía bên kia của lưới lồi (vì chúng không bị che khuất bởi những người ở gần camera hơn ở phía bên phải).
- Hiệu quả không cao như tôi mong đợi do thực tế cần 6 bản đồ cho mỗi biến dạng.
Không phải những thứ này không thể giải quyết được, nhưng giải pháp khác, liên quan đến thử nghiệm va chạm trong hạt nhân chạy trên GPU, dẫn đến kết quả chất lượng cao hơn và đơn giản hơn nhiều, mặc dù có thể không nhanh như vậy.
Tôi vẫn nghĩ rằng vấn đề câu hỏi này là thú vị mặc dù và sẽ quan tâm đến bất kỳ câu trả lời vì tôi chắc chắn có những tình huống sẽ được ưa thích.