Bagaimana gim 2D seperti Zelda menangani karakter di belakang bangunan tempat hanya sebagian dirinya yang ditampilkan?

28

Saya mencoba mengembangkan game bergaya Zelda sederhana. Saya menemukan topik yang sangat berguna ini

Bagaimana LoZ: Tautan ke Masa Lalu menangani tabrakan sub-ubin?

yang saya gunakan sebagai referensi untuk mengembangkan mekanisme deteksi tabrakan saya. Namun, ada sesuatu yang gagal saya pahami. Ketika Link berada di belakang bangunan, hanya sebagian dirinya yang ditampilkan. Adakah yang bisa membantu saya memahami bagaimana efek ini dapat dicapai? Bukankah bangunan itu bagian dari latar belakang?

Tinadm
sumber
Saya suka berpikir tentang gaya render sebagai memiliki lapisan tanah (rumput, lantai ubin, dll), lapisan objek (pot, musuh, pinggiran, tautan, dll), dan lapisan langit (atap atap, pot terangkat, puncak pohon) , dll). Logika untuk memindahkan barang antar lapisan bisa sedikit aneh dalam contoh pot, tapi itu masalah lain.
Benjamin Danger Johnson

Jawaban:

32

Gim Ubin 2D biasanya memiliki lebih banyak lapisan yang merender dalam berbagai lapisan - sebagian merender di latar lain di atas pemain.

Bagian atap itu berada di atas pemain dan itulah mengapa pemain dapat pergi ke belakang gedung itu.

Berikut ini contoh gambar dari game saya untuk menjelaskan lebih baik: masukkan deskripsi gambar di sini

Blodyavenger
sumber
Jadi bangunan itu sendiri dapat menjadi bagian dari latar belakang, tetapi atap adalah bagian dari lapisan berbeda yang digambar di atas lapisan dengan sprite?
Tinadm
2
@Tinadm itu tidak harus seluruh atap, bisa saja itu adalah bagian atap yang akan menggambar di atas pemain yang diberikan setelah segalanya.
Tetrad
7
+1 untuk grafis yang luar biasa. Sangat membantu pembelajar visual.
UnderscoreZero
1
Saya cukup yakin, SNES JRPG tua menggunakan teknik yang sama. FF2, FF5, dll. Teknik ini masih berlaku.
Hatoru Hansou
1
Anda dapat melihat ini dengan cukup baik dengan emulator, mis. ZSNES, yang memungkinkan Anda untuk mematikan dan mematikan masing-masing lapisan secara manual.
Tobias Kienzler
5

Sementara jawaban Blodyavenger mencakup bagaimana hal itu paling mungkin dilakukan, berikut adalah kemungkinan lain yang memungkinkan pergantian perspektif yang mudah (misalnya empat atau delapan arah yang berbeda, atau beberapa level ketinggian kamera):

Pertimbangkan tampilan top-down peta Anda, mis

  ABCDEFGHIJKL
1 +-----=----+
2 |  .    .  |
3 |    X   o |
4 | .        ||
5 |    .   . |
6 +--=-------+

Di mana, katakanlah, Xmenandai pilar tinggi. Untuk setiap objek Anda menyimpan gambar dari semua perspektif yang mungkin (atau menggunakan yang sama ...), yang mungkin sewenang-wenang banyak ubin. Sekarang ketika menggambar, cukup mulai dengan kolom atau baris yang ada di belakang dalam perspektif saat ini, misalnya baris 1 jika melihat dari selatan. Setelah itu gambarlah baris / kolom paling kedua ke belakang dan seterusnya. Dengan cara ini, ketika sesuatu lebih tinggi dari satu ubin (membentang ke perspektif saat ini), itu hanya akan menarik apa yang ada di belakang.

(Maaf karena tidak ada gambar yang bagus, saya tidak terlalu pandai grafis yang diterapkan ...)

Tobias Kienzler
sumber
Perhatikan bagaimana Anda dapat dengan mudah mengubah ketinggian kamera dengan merentangkan tekstur objek
Tobias Kienzler
1

Anda harus memiliki variabel kedalaman, dan gambar dengan kedalaman paling besar digambar terlebih dahulu, lalu yang lain dengan kedalaman terendah. Dan kedalaman masing-masing objek harus sama dengan negatif dari koordinat y.

Depth=-y

Ahmed Elyamani
sumber