Saya merencanakan permainan simulasi bisnis isometrik di mana pemain melihat kantor dengan furnitur biasa seperti meja, papan tulis, dll.
Karakter (Staf / NPC) dalam permainan harus berinteraksi dengan objek-objek ini dengan melakukan beberapa tugas yang telah ditentukan seperti mengetik pada keyboard di meja atau menulis di papan tulis dll.
Yang saya minati, khususnya, adalah skenario berikut:
Karakter bergerak melintasi kantor (1) ke mejanya (2) dan duduk dan mulai mengetik (3).
Dari apa yang saya mengerti saya akan memiliki sprite sheet untuk gerakan karakter (1) dan sprite statis untuk meja (2) tapi saya tidak mengerti bagaimana langkah ketiga akan ditangani?
Apakah ada sprite gabungan yang berisi meja dan karakter? Saya berasumsi tidak, kalau tidak saya perlu memiliki lembar sprite untuk setiap kombinasi meja dan karakter.
Bagaimana ini biasanya ditangani?
EDIT:
Berikut adalah contoh spesifik animasi dari game Theme Hospital. Anda dapat melihat videonya di sini .
Sejauh yang saya bisa lihat animasi dibagi menjadi beberapa langkah.
Langkah 1 - Karakter bergerak antara meja dan kursi.
Ini menunjukkan bahwa kursi dan meja sebenarnya adalah sprite terpisah.
Langkah 2 - Karakter duduk animasi
Perhatikan bagaimana pada frame terakhir kursi lebih dekat ke meja.
Langkah 3 - Animasi meja
Langkah 4 - Berdiri animasi
Sama seperti duduk tetapi diputar terbalik.
Langkah 5 - Pindah
Gunakan animasi gerakan normal untuk menjauh.
Pertanyaan saya adalah bagaimana animasi-animasi ini dipisahkan dengan baik dan bagaimana biasanya seorang seniman grafis menyediakan animasi-animasi ini?
Apakah karakter yang duduk dan mengetik di meja sebenarnya tiga sprite yang berbeda (meja, karakter dan kursi)? Adakah yang tahu contoh sprite animasi serupa?
EDIT 2:
Saya kira kekhawatiran terbesar saya adalah bahwa saya memiliki harapan yang tepat tentang bagaimana sebenarnya sprite akan terlihat. Saya tidak bisa menggambar mereka sendiri sehingga saya harus membayar seseorang untuk melakukannya dan saya berasumsi ada semacam cara praktik terbaik untuk melakukan animasi semacam ini?
Gagasan alternatif adalah memasukkan gambar Buffer Kedalaman / Z dengan sprite Anda yang mirip dengan bagaimana API 3D (OpenGL) memastikan poligon tidak tumpang tindih. Untuk gim sprite dasar, gim ini hanya berupa sekumpulan 0/1 bit (bitmap hitam dan putih) (walaupun Anda bisa menggunakan lebih banyak level kedalaman jika mau).
Jika Anda memiliki sprite gabungan 'kursi meja' dan ingin kursi tersebut muncul di depan sprite lain (yaitu orang-orang) di alun-alun itu, Anda akan membuat versi Z-Buffer dari char 'hitam' sementara desknya akan 'putih' .
Ketika Anda membuat sprite dinamis (seseorang) pada ubin itu, ia akan memeriksa untuk melihat warna apa yang ada di buffer kedalaman. Untuk piksel yang 0 (hitam) Anda lewati menggambar orang sprite piksel dan hanya meninggalkan kursi di sana.
Daripada memeriksa setiap piksel 1 pada satu waktu, cara yang lebih sederhana untuk melakukan pemeriksaan adalah mengalikan piksel sprite dengan nilai buffer kedalaman karena kedalaman yang lebih dekat adalah 0 dan membatalkan. Maka tentu saja Anda harus colorkey (kecuali jika Anda memiliki saluran warna alpha).
Ini tentu saja menambah overhead (walaupun Anda bisa melewatkannya untuk apa pun yang tidak perlu beberapa tingkat kedalaman seperti kursi meja). Anda juga perlu menyinkronkan animasi Anda (yaitu orang tersebut harus cocok dengan anim kursi meja). Itu tidak memberi Anda fleksibilitas yang sama hanya dengan memiliki sejumlah sprite terpisah.
sumber