Saya bekerja dengan AndEngine dengan ekstensi Box2d, tetapi jawaban umum atau ide konsep akan dihargai juga.
Saya memiliki benda seperti bulu di dunia tampilan sisi 2D yang saya ingin menjadi bagian dari simulasi fisika. Saya menggunakan redaman linear untuk membuat "bulu" jatuh perlahan. Ini mungkin bukan ide yang baik, mungkin saya lebih suka menerapkan kekuatan dalam setiap pembaruan, tetapi bagaimanapun, ini bekerja dan itu membuat objek terlihat "ringan" dan rasanya seperti ada udara dengan hambatan.
Sekarang bagaimana saya bisa membuat benda-benda itu benar-benar terlihat seperti bulu yang jatuh di udara?
Secara khusus saya mencari dua jenis objek: Panjang dengan kepadatan rendah, yang seharusnya bergerak ke bawah dalam gerakan ayunan lambat dan objek persegi yang hanya akan secara acak mengubah lintasan. Akan lebih bagus jika ini bisa menjadi satu simulasi dan panjang akan menjadi parameter - semakin lama objeknya, semakin besar ayunannya. Saat ini saya ingin mensimulasikan bulu, daun dan kepingan salju di dunia kartun.
Jawaban:
Sama seperti pendaratan di bulan, Anda harus memalsukannya . Fisika autorotation yang disebabkan oleh flutter, tumble dan vortex kompleks. Ada makalah tentang simulasi efek ini , dan mereka menghasilkan beberapa animasi Java yang indah .
Tapi, saya bahkan akan melangkah lebih jauh dalam kepalsuan Anda dan menerapkan sesuatu seperti gelombang sinus yang tumbuh untuk menghidupkan gerakan.
Jelas Anda ingin mengubah nilai awal, laju peningkatan amplitudo dan frekuensi independen hingga Anda mendapatkan sesuatu yang terlihat lebih dekat dengan apa yang Anda inginkan. Anda ingin beberapa keacakan untuk membuatnya menarik. Selain itu, seperti yang ditunjukkan contoh Anda, benda yang sangat ringan dengan luas permukaan tinggi sebenarnya bisa naik di dekat tepi gelombangnya. Jadi, gelombang di atas amplitudo tertentu harus mulai memperhitungkan nilai sweeping, dengan nilai maksimal kecil.
Semakin sedikit massa dan lebih banyak area permukaan yang dimiliki objek, semakin Anda meningkatkan amplitudo dan frekuensi gelombang sinus. Semakin banyak massa dan semakin sedikit luas permukaan akan menghasilkan penurunan amplitudo dan frekuensi.
sumber