Chào anh chị, em đang làm một game dạng Isometric và đến chỗ xử lý độ sâu. Nếu là xử lý độ sâu cho một nhân vật và bối cảnh thì em xử lý được, nhưng nếu có nhiều đối tượng quá thì cách xử lý của em cồng kềnh quá. Mong anh chị biết phương pháp nào có thể xử lý độ sâu trong Map kiểu Isometric này có thể giúp em với, em cám ơn.
Hỏi về xử lý độ sâu trong Game Isometric
Cá nhân mình cho rằng với isometric thì cách toàn diện nhất là bạn hãy đưa hệ thống vị trí về hẳn logic ba chiều, còn render thì can thiệp trực tiếp vào depth buffer. Mấy game isometric xưa nay kiểu gì cũng dính lỗi render sai thứ tự, cứ lấy depth buffer ra xài là giải quyết đc hết.
Ví dụ này chắc chắn sẽ render sai thứ tự:
https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Painters_problem.svg/220px-Painters_problem.svg.png
https://en.wikipedia.org/wiki/Painter’s_algorithm
Em cám ơn, em đọc từ nãy về cái depth buffer nhưng không hiểu gì cho lắm, không biết anh có bài nào dễ hiểu cho em với. Với cả em nghĩ là nếu cái Map của em chỉ là những nhân vật trên mặt đất, kích thước ngang ngang nhau thì sao lại cần tới trục Oz vậy ạ. @@
À nếu game của bạn đơn giản thì cứ sort bình thường thôi.
Depth buffer là của bên 3d, tức là mình sử dụng kĩ thuật render của 3d để sort. Dùng trong trường hợp các vật thể và tương tác rất phức tạp.
em cám ơn anh !!!
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?