Saya ingin tahu bagaimana sistem animasi bekerja di minecraft. Saya merasa bahwa semua monster dikodekan ke dalam permainan. Apakah takik benar-benar duduk di sana dan membuat matriks untuk semua tulang animasi dengan tangan?
Saya suka menciptakan game untuk bersenang-senang, jadi saya ingin tahu bagaimana dia melakukan ini. Juga, jika dia benar-benar melakukan hardcode pada mereka ... adakah cara yang lebih baik?
animation
geometry
minecraft-modding
radenon
sumber
sumber
Jawaban:
Seperti yang orang lain katakan, ya model serta animasinya sulit dikodekan. Jika Anda ingin melihat bagaimana ini dilakukan, buka wiki Paket Coder Minecraft .
Kelas-kelas yang ingin Anda lihat adalah: ModelBase, ModelBiped, dan ModelRenderer.
ModelBiped berisi fungsi-fungsi berikut yang melakukan animasi humanoid:
Ayunan lengan hanyalah fungsi kosinus. Lengan kanan diimbangi oleh PI untuk membuat mereka berayun ke arah yang berlawanan.
Saya harap itu menjawab pertanyaan Anda =)
Jika Anda ingin informasi lebih lanjut tentang bagaimana sebenarnya mod Minecraft, maka lihat pertanyaan ini:
Bagaimana cara menambahkan mob khusus ke Minecraft?
sumber
Model-model di Minecraft adalah kode-keras. Tidak ada gagasan tentang hierarki blok (hanya daftar blok). Ini berarti bahwa animasi dilakukan secara prosedural (dengan cara yang sangat mendasar) atau nilai-nilai hard-coded dengan interpolasi.
Ada beberapa editor untuk model Minecraft seperti Techne atau FMCModeler yang memungkinkan mengimpor / mengekspor kode model Minecraft untuk mod, tetapi mereka tidak mendukung animasi karena mungkin ditangani secara berbeda untuk setiap model.
Berikut ini contoh cepat yang dihasilkan dengan FMCModeler:
Cara yang lebih baik untuk melakukannya adalah membangun pemodel berbasis blok penuh dengan beberapa konsep hierarki blok sehingga Anda dapat menghidupkan model dengan keyframe dan interpolasi.
Saat ini saya sedang membangun alat pembuat game multipemain yang melakukan hal itu (antara lain, http://craftstud.io/ ). Ini sudah memungkinkan membangun model bertekstur statis yang rumit dan banyak lagi yang akan datang.
Berikut model rumit yang dibangun dengan CraftStudio Seperti yang Anda lihat, blok disusun dalam pohon di sebelah kanan:
Setiap blok diserialisasi ke disk / melalui jaringan dengan data berikut:
Saya berencana menambahkan dukungan animasi dengan menyimpan peta dengan nama animasi sebagai kunci dan daftar kerangka kunci sebagai nilai. Setiap kerangka kunci akan dikaitkan dengan blok dan nilai untuk menghidupkan. Di antara kerangka kunci, nilai harus diinterpolasi (baik secara linear untuk posisi atau untuk sudut, cari lerp dan slerp).
sumber
Model blok Minecraft sebenarnya tidak dimasukkan dalam hardcod ke dalam game pada 1.8 dan dapat diedit menggunakan paket sumber daya. Sistem pemodelan JSON cukup mudah dimengerti dan model ada di / models / block. Anda kemudian dapat melihat kode untuk melihat bagaimana itu menginterpretasikan model JSON.
sumber