Hai, jadi saya baru-baru ini mempelajari perpustakaan grafik SFML dan ingin menggunakan atau membuat sistem fisika 2D non-kaku untuk digunakan dengannya. Saya punya tiga pertanyaan:
Definisi tubuh kaku di Box2d adalah
Sepotong materi yang sangat kuat sehingga jarak antara dua bit materi pada potongan sepenuhnya konstan.
Dan inilah yang sebenarnya tidak saya inginkan karena saya ingin membuat badan yang elastis, dapat berubah bentuk, mudah pecah, dan terhubung kembali. 1. Apakah ada mesin fisika 2D sederhana, tetapi dengan karakteristik seperti ini di luar sana? lebih disukai gratis atau opensource?
2. Jika tidak, bisakah saya menggunakan box2d dan mengerjakannya untuk membuatnya bahkan jika itu didasarkan pada tubuh yang kaku?
3. Akhirnya, jika ada mesin fisika sederhana seperti ini, haruskah saya melanjutkan dengan proses membuat yang baru, hanya untuk pengalaman dan untuk meningkatkan pengetahuan matematika fisika? Saya merasa akan membantu jika saya ingin memodifikasi kode mesin yang ada, atau membuat game dengan fisika yang sangat unik.
Terima kasih!
Jawaban:
Anda dapat menggunakan sistem tubuh yang kaku untuk menciptakan dinamika tubuh dan cairan yang lembut. Alasan fisik di baliknya? Pada dasarnya, atom adalah benda-benda kecil yang kaku. Tentu saja ini tidak sepenuhnya benar, tetapi untuk kesederhanaan Anda dapat melihatnya seperti itu. Dan tubuh lunak jelas terbuat dari atom.
Jadi, bagaimana Anda membuat "tubuh lunak" menggunakan mesin tubuh kaku seperti Box2D?
Teknik penting adalah untuk mengikat titik-titik di tubuh Anda bersama menggunakan sendi Sebagai contoh, jika Anda menghubungkan ujung daftar garis bersama-sama menggunakan sambungan jarak (artinya jarak antara dua sambungan harus konstan), kira-kira akan berperilaku seperti selembar kain.
Tapi itu hanya deskripsi kasar. Banyak "pekerjaan lapangan dasar" dengan Box2D telah dilakukan oleh ewjordan, salah satu pengembang Java-port Box2D. Inilah titik awal yang baik: http://www.box2d.org/forum/viewtopic.php?f=8&t=1978
sumber
Istilah yang Anda cari adalah fisika tubuh lunak.
Wikipedia memiliki daftar yang bagus. Semuanya 3D AFAICS, tetapi harus bagus.
Lihat juga pertanyaan SO ini .
Buku yang bagus (badannya kaku, tetapi semua matematika dan fisika ada di sana; ini juga 3D, tetapi mudah ditransfer ke 2D) adalah Game Physics Engine Development . Ini mengimplementasikan sistem berbasis partikel sebelum bergerak ke benda yang kaku dan tabrakan.
sumber
Salah satu cara sederhana untuk mensimulasikan benda lunak adalah dengan menyambungkan benda-benda kecil yang kaku dengan sambungan elastis. Maka bagian yang sulit adalah untuk menyempurnakan parameter model Anda dan memetakan tekstur ke model yang mendasarinya.
Posting blog berikut memberikan implementasi bola yang dapat dideformasi dengan mesin cocos2d: http://2sa-studio.blogspot.com/2014/05/soft-bodies-with-cocos2d-v3.html
sumber