2011-03-10 12 views
9

enter image description here enter image description here enter image description here enter image description herePassages qua gạch isometric

Trên bốn hình ảnh của một nhân vật đi bộ dọc theo mặt đất từ ​​phía dưới bên phải phía trên bên trái. Bạn có thể thấy rằng thứ tự bản vẽ không chính xác trong bảng thứ ba.

Dường như không có "thứ tự đúng" ở đây. Ví dụ, nếu thay vì một chàng trai nhỏ, chúng tôi có một con mèo của một con mèo looooong đi qua cánh cửa, sau đó không có vấn đề nếu bạn vẽ cửa đầu tiên hoặc con mèo đầu tiên, nó sẽ là sai.

enter image description here enter image description here

Làm thế nào để game engine khác xử lý này? Một số hack để ngăn chặn tình trạng này xảy ra? Vẽ một bộ đệm z bằng tay? Một số tùy chọn khác không xảy ra với tôi?

+0

Có thể xác định một tập hợp các "lớp" cho đối tượng (hoặc có các đối tượng riêng biệt hoàn toàn), với lớp đầu tiên được vẽ bên dưới thứ hai, v.v ...? Tôi không chắc chắn, nhưng đó sẽ là cách tiếp cận ngây thơ của tôi. Tôi đã thiết lập một tiền thưởng về điều này nếu tôi thực sự đã có một sử dụng cho biết loại công cụ này. – Blender

+0

Cảm ơn máy xay sinh tố. Trên thực tế tôi có các lớp trong động cơ của tôi, nhưng gạch được trong các lớp khác nhau không ảnh hưởng đến thứ tự bản vẽ so với các sprites. – Bemmu

+0

Tôi đã có nghĩa là lớp cho mỗi sprite cá nhân. Tôi phải làm việc theo thuật ngữ của mình ... – Blender

Trả lời

5

Bí quyết đơn giản là chia lát thành nhiều phần. Vẽ nửa bên phải của vòm, sau đó là nhân vật, và sau đó là nửa bên trái.

+0

Hmm vì vậy một lát không chỉ là một hình ảnh được vẽ ở trung tâm của một hình xếp, mà thực sự có thể là một tập hợp các hình ảnh ở vị trí lệch. – Bemmu

+1

Câu trả lời đơn giản nhưng tôi đã suy nghĩ. Nếu tôi thêm tính năng này để có các nhóm hình khối (một tính năng hữu dụng), thì tôi có thể tạo một nhóm ô có hai phần đó. – Bemmu

0

Một cách khác để chia nhỏ ô xếp là chỉ hiển thị mọi thứ có giá trị z và bộ đệm z giống như ứng dụng 3D phù hợp. Nếu bạn tạo đồ họa của mình trong gói 3D, bạn có thể tạo ra các giá trị z tương đối cùng một lúc.