Cascadeur: Masa Depan Animasi Game

gambar

Halo semuanya! Kami adalah studio pengembangan Banzai Games . Kami senang akhirnya membuka blog kami di sini. Kami akan menulis tentang teknologi, proyek, dan berbagi kisah dari kehidupan perusahaan. Materi pertama adalah terjemahan dari wawancara dengan pendiri studio, Yevgeny Dyabin, yang dia berikan kepada rekan-rekan dari edisi 80lv. Di dalamnya, ia berbicara tentang program kami untuk membuat animasi Cascadeur berbasis fisika dan kelebihannya daripada animasi mocap.

Eugene, ceritakan sedikit tentang diri Anda dan apa yang Anda lakukan sekarang.

Saya adalah pendiri dan produser utama dari studio pengembangan Banzai Games. Kantor kami berlokasi di Moskwa, dan mitra utamanya adalah Nekki, di mana kami sedang mengembangkan sejumlah proyek, termasuk game pertarungan seluler unggulan Shadow Fight 3 . Saya terlibat dalam produksi dan desain game, serta terlibat dalam pengembangan mekanika game. Tapi untuk waktu yang lama saya sangat tertarik dengan topik animasi, dan itu adalah animasi yang memainkan peran kunci dalam proyek kami. Selama bertahun-tahun, kami bersama animator telah mengembangkan pendekatan khusus untuk membuat animasi dan menggunakannya dalam perangkat lunak kami. Jadi Cascadeur muncul - sebuah program untuk membuat animasi yang benar secara fisik tanpa menggunakan motion capture.


Gim modern memiliki animasi yang sangat canggih, tetapi sebagian besar dibuat di Maya menggunakan kerangka kunci sederhana atau menggunakan tangkapan gerak. Apa keterbatasan dari pendekatan ini, dan bagaimana mereka dapat menyulitkan tugas-tugas sederhana?

Saya setuju bahwa animasi dalam permainan hari ini sangat maju. Orang-orang yang membuatnya memiliki pengalaman luas. Tetapi tidak peduli seberapa profesional Anda, sangat sulit untuk membuat animasi yang dapat dipercaya bahkan sebuah kubus jatuh ke meja dalam bingkai kunci. Banyak yang pasti akan melihat bahwa animasi dibuat dengan tangan dan berbeda dari bagaimana kubus akan jatuh dalam kehidupan nyata. Oleh karena itu, masalah utama dari animasi frame-by-frame adalah sulit untuk mencapai hasil yang benar secara fisik.

Di sisi lain, mocap terlihat realistis, tetapi memiliki keterbatasan karena aktor dan stuntmen. Karena itu, dalam game itu sendiri tidak cukup. Anda perlu lebih banyak kontrol atas animasi - ketepatan waktu, parameter gerakan, misalnya, tinggi dan rentang lompatan. Mungkin sulit untuk mencapai semua ini dari seorang aktor, dan banyak gerakan untuk seseorang tidak mungkin sama sekali, atau hanya sedikit yang bisa melakukannya.

Misalnya, Anda akan menemukan seorang seniman bela diri dan melakukan tendangan lompat. Tetapi ketika Anda menyesuaikan animasi dengan persyaratan desain game, atau jika Anda ingin membuat pukulan lebih kuat, maka, kemungkinan besar, melanggar hukum fisika - dan gerakan itu akan berhenti dipercaya.

Dan ini belum lagi fakta bahwa permainan itu penuh dengan monster, gerakannya tidak begitu mudah untuk dihapus dari seseorang.



Bagaimana Cascadeur mengatasi masalah ini? Bagaimana Anda menerapkan 12 prinsip Disney untuk membuat program ini?

Hal pertama yang kami tambahkan ke proses animasi adalah kerangka fisik. Itu terhubung ke rig karakter, dan ketika Anda membuat animasi, Anda juga menghidupkan gerakan padatan. Dan alat-alat kami, memiliki informasi tentang mereka, menganalisisnya dan menunjukkan kepada Anda karakteristik fisik dari suatu pose atau gerakan.

Selain itu, kami memiliki alat untuk mengedit karakteristik fisik animasi. Misalnya, ketika karakter melakukan backflip, momentum sudut dalam lompatan harus tetap tidak berubah. Jika Anda tidak memperhitungkan ini, maka jungkir balik tersebut terlihat tidak realistis. Dan program kami mencoba menemukan opsi rotasi yang menjaga momentum sudut tidak berubah.

Untuk mencari solusi seperti itu, banyak perhitungan fisik terjadi di dalam program. Pendekatan ini memungkinkan Anda untuk membuat seluruh animasi dalam program itu sendiri, dan hasilnya secara fisik benar.

Adapun 12 prinsip Disney: jika Anda perhatikan lebih dekat, hampir semuanya mempertimbangkan fisika. Tetapi ketika animator menirunya tanpa akses ke pemodelan yang akurat, ia dipaksa untuk melebih-lebihkan, membesar-besarkan hukum fisika. Oleh karena itu, kami mendapatkan animasi yang ekspresif namun kartun. Anehnya, jika Anda benar-benar mengamati hukum fisika, maka banyak prinsip Disney hanyalah konsekuensi dari kelembaman. Tetapi perbedaan utama adalah bahwa dengan simulasi fisik yang akurat kita dapat menghindari efek kartun.

gambar

Di Bootcamp Animasi di San Francisco, Anda mengatakan bahwa banyak animasi realistis, seperti rambut, jaringan, dan otot, hanyalah sebuah simulasi. Lalu mengapa kita masih menggunakan bingkai kunci tidak hanya dalam kartun, tetapi juga dalam proyek AAA besar? Di sini pengembang membuat animasi, tetapi terpaksa mengeditnya secara manual. Mengapa

Biasanya, simulasi hanya digunakan untuk gerakan "sekunder". Artinya, Anda memiliki semacam animasi dasar karakter, dan Anda ingin tahu bagaimana rambut dan pakaiannya akan berinteraksi dengannya. Pada saat yang sama, animasi sekunder tidak mempengaruhi yang utama. Tetapi animasi tubuh karakter tergantung pada semua bagiannya. Jika Anda melambaikan tangan dalam kehidupan nyata, itu akan mempengaruhi rotasi seluruh tubuh. Itulah mengapa sangat sulit untuk mengedit animasi mocap tanpa melanggar realismenya. Dan hampir selalu diperlukan untuk membuat perubahan pada animasi seperti itu. Bahkan pada tahap produksi selanjutnya, beberapa persyaratan dan gagasan baru sering muncul.

Selain itu, terkadang dalam gim Anda membutuhkan gerakan yang tidak dapat Anda capai dengan bantuan mocap. Misalnya, Anda memerlukan karakter untuk melompat lebih tinggi dari yang dimungkinkan secara fisiologis. Atau Anda memiliki game pertarungan (seperti Shadow Fight 3 kami), di mana semua gerakan, termasuk melompat, terjadi dengan sangat cepat - karena itu penting untuk gameplay. Hanya di sini, lompatan di bawah gravitasi Bumi akan selalu sangat lambat. Jadi, Anda akan membutuhkan peningkatan gravitasi, yang kami gunakan untuk semua lompatan di Shadow Fight 3.

Secara umum, masalah utama animasi karakter adalah kontrol animator atas hasilnya. Bahkan jika suatu hari kita membuat jaringan saraf yang dapat membuat dan mensimulasikan gerakan karakter, pertanyaannya tetap: bagaimana kita bisa menyampaikan ke jaringan saraf gerakan apa yang harus dibuat? Bagaimana cara menjelaskan kepadanya apa yang kita inginkan?

Oleh karena itu, diperlukan pendekatan gabungan: animator harus memiliki alat pengedit animasi, dan kecerdasan buatan harus membantunya mencapai hasil yang berkualitas tinggi dan realistis. Sekarang Cascadeur hanya membantu kita dengan fisika, tetapi kita tidak akan berhenti di situ.



Apa masalah simulasi karakter manusia berkaki dua? Apa yang membuat mereka begitu sulit untuk bekerja dan bagaimana menghindari efek "lembah menyeramkan" dengan Cascadeur?

Karakter berkaki dua, rata-rata, memiliki lebih sedikit titik dukungan pada setiap titik waktu, yang berarti Anda harus lebih memperhatikan menjaga keseimbangan. Agar semua ini terlihat realistis, Anda harus memperhitungkan fisika.

Sangat sulit untuk menipu mata manusia ketika membuat animasi. Jika Anda melanggar hukum fisika saat menjiwai hal-hal yang paling sederhana, seseorang akan memperhatikan hal ini. Pemodelan fisik objek sederhana tidaklah sulit, tetapi keseluruhan karakter adalah tugas yang jauh lebih kompleks. Dan itulah mengapa mocap sangat penting: seseorang yang triknya direkam menggunakan teknologi ini melaksanakannya sesuai dengan hukum fisika. Dia tidak bisa melakukan sebaliknya. Benar, ini berfungsi baik terutama dengan karakter humanoid.

Karena itu, jika kita ingin menghindari efek "lembah menyeramkan" dan membuat penonton percaya apa yang terjadi, gerakan itu tidak hanya harus indah, tetapi juga memperhitungkan hukum fisika. Animator melakukan pekerjaan yang sangat baik dengan pose dan keindahan gerakan, tetapi memperhitungkan fisika hampir tidak mungkin. Cascadeur dapat membantu dengan ini.

Pekerjaan Cascadeur seperti semacam sihir. Bisakah Anda berbicara tentang cara kerjanya dan bagaimana Anda menggunakannya saat mengembangkan game?

Kembali ke teknologi - apa yang kita miliki sekarang, saya pasti tidak akan menyebut sihir. Saya sendiri terkejut bahwa alat yang Anda lihat di Cascadeur tidak disertakan secara default di sebagian besar paket 3D yang dirancang untuk bekerja dengan animasi.

Pipa kami terlihat seperti ini. Animator membuat sketsa animasi - pose kunci dan interpolasi. Sudah dalam proses mengerjakan konsep, ia bisa melihat pusat massa dan lintasannya. Animator dapat menandai titik dukungan karakter, membuat lintasan pusat massa benar secara fisik, dan memutar seluruh karakter dengan benar menggunakan alat kami. Algoritme kami mencoba untuk melestarikan pose karakter yang ada di draft, tetapi untuk mendapatkan hasil yang diinginkan, Anda hanya perlu mengedit sesuatu dalam proses dan mengamati bagaimana ini mempengaruhi animasi secara keseluruhan. Yang paling penting adalah animator dapat memodifikasi animasi sebanyak yang dia butuhkan, dengan tetap menjaga kebenaran fisik.

Akan seperti sulap jika kita dapat mengotomatiskan alat-alat ini - dan mereka akan menawarkan animator hasil yang benar secara fisik tanpa usaha dari pihaknya. Tetapi untuk saat ini, tepatnya alat itulah yang masih perlu dikuasai.



Bagaimana simulasi ini? Apakah Anda memiliki basis gerakan? Apakah Anda memodelkan seluruh fisika gerakan tubuh? Misalnya, Anda memberi setiap bagian tubuh tertentu sifat fisik, momentum dan vektor, lalu lihat apa yang terjadi?

Animator pertama membuat konsep. Di dalamnya, kita memiliki pose karakter di setiap bingkai - kunci dan diinterpolasi. Jika kita melakukan simulasi langsung dari pose-pose ini, kita akan melihat bagaimana karakter akan bergerak ketika memperhitungkan dengan tepat gerakan-gerakan bagian tubuh yang relatif satu sama lain. Kemungkinan besar, ini akan mengarah pada fakta bahwa karakter jatuh begitu saja, yang tidak diinginkan animator. Karena itu, kami datang dari sisi lain.

Misalnya, jika sebuah karakter melompat, maka kita tahu dari posisi mana lompatan dimulai, dan di mana - berakhir. Animator dapat menandai bingkai perantara yang penting baginya. Selanjutnya, algoritma menggeser dan memutar karakter di setiap bingkai sehingga pusat massa bergerak di sepanjang kurva balistik, dan momentum sudut dipertahankan. Pada saat yang sama, algoritma mencoba untuk menyimpan setiap pose dan membuat animasi sedekat mungkin dengan konsep aslinya. Ketika ada poin dukungan, tugas menjadi lebih sulit, tetapi esensinya sama.

Animator dapat mengubah animasi dan menonton bagaimana ini mempengaruhi hasilnya. Semakin dekat kita dengan hasil yang diinginkan, semakin sedikit perubahan serius yang kita buat pada fisika. Anda dapat menggiling dan meningkatkan animasi sebanyak yang Anda suka.

Mari kita bicara tentang pengembangan lebih lanjut dari sistem intelektual Anda. Apakah Anda memiliki jaringan saraf yang mempelajari semua gerakan Anda?

Fitur pendekatan kami adalah kami ingin memberikan animator kontrol penuh atas hasilnya. Apa pun yang dilakukan sistem cerdas kami, ini hanya koreksi dan saran untuk meningkatkan animasi yang telah dibuat. Sekarang hanya fisika. Tetapi kami juga mengeksplorasi bagaimana animator dapat membantu dengan pose dan lintasan bagian tubuh. Adalah kekuatan kita untuk melatih jaringan saraf untuk membedakan pose alami dari kurva dan yang tidak alami.

Kami menyebut konsep ini "Hantu Hijau". Dalam mimpi kita, ini terlihat seperti ini: animator menempatkan pose kunci, dan kecerdasan buatan itu sendiri memahami di mana titik tumpu itu, di mana lompatan dimulai dan berakhir, dan berapa tinggi mereka. Sistem ini tidak hanya menawarkan fisika yang benar, tetapi juga postur dan lintasan alami untuk setiap bagian tubuh. Animator mengamati ini dalam bentuk Hantu Hijau yang bergerak secara paralel dengan konsep animasi.

Suatu situasi dimungkinkan ketika sudah pada tahap pertama membuat animasi Anda akan melihat hasil yang sesuai dengan Anda di Phantom dan menyalinnya ke diri sendiri. Tetapi jika ini bukan yang Anda butuhkan, maka Anda dapat terus bekerja, menambahkan lebih banyak kunci, mengubah pose - dan Ghost akan mempertimbangkan semua ini. Dan Anda dapat kapan saja menyalin pose dan fragmen yang Anda sukai. Dengan demikian, manusia dan AI bekerja bersama, bergerak menuju satu sama lain.

Pendekatan ini dapat menghemat banyak waktu, karena konsep gerakannya seringkali sudah jelas dalam beberapa bingkai. 90% waktu animator tidak dihabiskan untuk kreativitas, tetapi untuk memoles hasil akhir secara rutin.


Bagaimana Anda berencana mendistribusikan Cascadeur?

Kami belum siap untuk berbicara tentang distribusi, karena program kami belum dirilis secara resmi, tidak dapat dibeli. Tapi kami meluncurkan pengujian beta tertutup. Anda secara pribadi dapat membiasakan diri dengan program ini - untuk ini Anda perlu mengirimkan aplikasi di situs cascadeur.com , dan kami akan mengirimkan Anda tautan unduhan dalam waktu 2 minggu.

Rigging saat ini tidak termasuk dalam build, karena alat kami tidak siap untuk penggunaan umum. Tetapi jika Anda ingin menggunakan Cascadeur dalam pengembangan proyek Anda sekarang, maka kami terbuka untuk dialog. Dan jika Anda ingin menguji Cascadeur dengan model Anda sendiri, kami siap membuat rig pribadi untuk Anda. Instruksi akan ada dalam surat undangan uji beta.

Saat ini, kami mendukung ekspor .fbx, yang memungkinkan untuk bekerja dengan Unity dan Unreal. Di masa depan, kami berharap dapat menambahkan dukungan untuk lebih banyak mesin game. Juga patut ditambahkan bahwa meskipun kami terutama berfokus pada animasi aksi, kami memiliki tujuan untuk mencakup semua set alat animasi yang diperlukan sehingga Anda dapat membuat animasi dengan kompleksitas apa pun dari awal.

Proyek Cascadeur membutuhkan Pengembang C ++. Baca lebih lanjut tentang lowongan di sini .



Tetap disini untuk berita pengembangan Cascadeur:
Facebook
VKontakte
Youtube

Source: https://habr.com/ru/post/id462023/


All Articles