Từ các trò chơi lâu đời nhất đến rất hiện đại, có vẻ như bạn vẫn có thể nhìn xuyên qua các bức tường hoặc thường xuyên nhất là mặt đất ở một số vị trí máy ảnh. Tại sao va chạm khó tính toán hiệu quả trong các công cụ đồ họa? Làm tròn/mất chính xác có tích lũy dẫn đến chế độ xem sai không?Tại sao va chạm khó tính toán hiệu quả trong các công cụ đồ họa?
Trả lời
Điều này không thực sự là va chạm theo nghĩa rõ ràng. Vị trí máy ảnh có lẽ không thực sự "bên trong" bức tường hoặc mặt đất trong những tình huống đó, nhưng nó chỉ đơn giản là rất gần với nó.
Trong đồ họa 3D máy tính, máy ảnh có khái niệm về gần mặt phẳng và mặt phẳng xa. Chỉ hình học nằm giữa hai mặt phẳng này sẽ hiển thị trong khi phần còn lại sẽ là cắt bớt. Nếu bạn quá gần với một cái gì đó và căn chỉnh máy ảnh một cách chính xác, thì rất có thể là một số phần của hình học sẽ quá gần máy ảnh như được xác định bởi mặt phẳng gần và kết quả là hình học sẽ không được hiển thị.
Bây giờ, khoảng cách tới mặt phẳng gần này có thể được thiết lập bởi các nhà phát triển, và nó có thể được đặt là rất ngắn - đủ ngắn để đảm bảo rằng các tình huống như thế này không thể xảy ra. Tuy nhiên, bộ đệm độ sâu hoặc z buffer được sử dụng để xác định đối tượng nào gần camera nhất trong khi hiển thị và do đó đối tượng hiển thị và không hiển thị, liên quan chặt chẽ với khoảng cách gần và xa.
Trong phần cứng đồ họa, bộ đệm độ sâu được biểu diễn bằng số bit cố định cho mỗi pixel, ví dụ 32 bit. 32 bit này phải đủ để biểu diễn chính xác toàn bộ nhịp giữa mặt phẳng gần và mặt phẳng xa. Nó cũng không phải là tuyến tính, nhưng sẽ sử dụng độ chính xác hơn gần camera hơn. Kết quả là, việc lựa chọn khoảng cách gần mặt phẳng rất nhỏ sẽ làm giảm đáng kể độ chính xác tổng thể của bộ đệm độ sâu. Điều này có thể gây phiền nhiễu nhấp nháy trong toàn bộ cảnh bất cứ nơi nào hai đối tượng rất gần với nhau.
Bạn có thể đọc thêm về sự cố này here cũng như section 12.040 here.
Tôi đang cầu nguyện mỗi ngày cho tất cả card đồ họa có độ chính xác z-buffer 32 bit: -D .. Rất nhiều trong số chúng vẫn chỉ có 24 bit hoặc ít hơn (giống như tất cả các card đồ họa Intel tích hợp cũ). – Sorceror
Nó không phải là khó khăn (tất nhiên, không dễ tính toán va chạm/cắt của đối tượng không lồi), nhưng bạn vẫn chỉ có ~ 33ms để tính toàn bộ khung, do đó cần phải thực hiện một số thỏa hiệp (lưới va chạm không giống như lưới bạn thực sự thấy). Nếu không có thời gian cho giải pháp chính xác (để đáp ứng tất cả các điều kiện - khoảng cách máy ảnh, vật thể phải được nhìn thấy, tránh va chạm), bạn phải dự phòng một số giải pháp "dễ dàng" như nhìn xuyên qua tường.
- 1. Phát hiện va chạm giữa các quả cầu tăng tốc
- 2. thuật toán băm tốt nhất về mặt va chạm băm và hiệu suất cho các chuỗi
- 3. va chạm HG vụ va chạm gấp?
- 4. string.GetHashCode() tính độc đáo và va chạm
- 5. Tìm kiếm công cụ tạo đồ họa 9-bit
- 6. Trình phát hiện va chạm/phát hiện va chạm voxel
- 7. Xác suất của các va chạm SHA1
- 8. công cụ dùng để tạo ra đồ họa hình học minh họa trên wikipedia
- 9. zend: va chạm tham số
- 10. Hiệu năng đồ họa Java
- 11. Va chạm HashSet trong Java
- 12. Cách thêm chú giải công cụ vào đồ họa svg?
- 13. tính toán R cosin hiệu quả nhất
- 14. Phát hiện va chạm Javascript
- 15. Va chạm dựa trên gạch trong XNA
- 16. phi đồ họa 3 chiều sáp nhập công cụ
- 17. Mô phỏng n-mô phỏng va chạm 2D (phát hiện va chạm nhanh cho số lượng lớn quả bóng)
- 18. Công cụ Valgrind Massif đầu ra giao diện đồ họa?
- 19. Hiểu sha-1 va chạm yếu
- 20. CHECKSUM() va chạm trong SQL Server 2005
- 21. Box2dweb - Va chạm Contact Point
- 22. Tìm va chạm trong bảng băm
- 23. Số va chạm băm dự kiến
- 24. Làm thế nào để tính toán tỷ lệ cược của một vụ va chạm trong thuật toán băm?
- 25. Hash Va chạm Tuyến tính Probing Thời gian chạy
- 26. Va chạm Irrlicht với một lưới vô hình
- 27. Làm thế nào để phát hiện va chạm nhưng không va chạm trong box2d?
- 28. Thuật toán băm chuỗi nhanh với thuật toán va chạm thấp với số nguyên 32 bit
- 29. Phát hiện va chạm vòng tròn nhanh
- 30. Làm thế nào để thực hiện các hiệu ứng va chạm trong một trò chơi?
"xem qua các bức tường hoặc thường xuyên nhất trên mặt đất ở một số vị trí máy ảnh". không phải là một vấn đề va chạm của nó một vấn đề clipping; họ chỉ không lọc ra những thứ bạn không thể nhìn thấy từ vị trí đó từ cảnh được hiển thị. –
Bạn đang hỏi về một số phần của "bức tường" trong hình ảnh hoặc về việc định vị camera bên trong bức tường ..? – Sorceror