Kategori
Devlog/Studlog

1 Hari 1 Tutorial: Hari 30 – SoftBody2D Plugin

Tiba-tiba muncul tutorial buat plugin yang bisa bikin objek physics yang bouncy kayak jelly. Kalau ga salah ini bikinan developer game yang pake mekanik softbody gitu dan ngebagiin hasil kerjaannya sebagai plugin. Menarik sih. Seenggaknya ini bisa jadi tutorial pake plugin yang seharusnya bakal sering dilakukan dalam development game.

Hmm… agak sulit dibikin bagus. Yang pertama harus diperhatikan adalah tutorial ini ternyata agak jadul. Plugin SoftBody2D bisa didownload dari AssetLib di editor Godot dan sekarang sudah versi 1.7. Yang di tutorial masih versi 1.4. Jadi apa yang ditunjukin di tutorial kadang ga ngefek atau sesuai di prakteknya.

Beberapa hal yang saya temukan:

  • Texture hanya bisa pakai ImageTexture. Ga bisa pake Atlas. Btw exclude texture untuk bikin objek bolong memerlukan ImageTexture yang ukurannya sama dengan texture utama, tapi hanya menampilkan bagian yang dilubanginya saja. Usahakan ukuran sprite sudah sesuai dengan ukuran objek yang akan dipakai (jangan resize/rescale).
  • SoftBody ini pada dasarnya satu objek dipecah jadi beberapa segmen Rigidbody yang dihubungkan pakai berbagai joint (cek tutorial hari 13). Jadi seberapa bouncy objeknya dan seberapa bagus objeknya kalau bisa rusak/patah, tergantung dari jumlah segmen-segmen tersebut. Ini diatur di properti Vertex Interval di inspector node SoftBody; semakin besar nilainya, semakin sedikit jumlah segmennya, dan akan terlihat semakin padat. Perlu perhatikan juga ukuran objeknya. Btw sepertinya plugin ini lebih optimal pada objek berukuran kecil.
  • Fitur Pickable Rigidbody agak glitchy. Kalau mau pake, coba banyakin segmennya.
  • Tidak seperti yang disebut tutorial, Breakable Object tidak pakai material, tapi dengan ubah properti SoftBody2D > Joint > Break Distance Ratio. Atur-atur biar terlihat bagus.
  • Ngubah nama node bikin error. Seperti segmennya kehilangan reference ke parent node. Setiap ubah nama, coba ubah nilai Vertex Interval.
  • Untuk bikin platform polygon seperti di tutorial, bikin StaticBody2D, lalu kasih child CollisionPolygon2D dan kasih child Polygon 2D. Gambar platformnya di Polygon2D. Kalau sudah, cek inspector di node Polygon2D > Data > Polygon. Klik kanan di nama properti tersebut dan pilih ‘copy value’. Pilih node CollisionPolygon2D, di inspektor bagian Polygon, klik kanan, dan pilih paste value. Harusnya collision yang bentuknya sama .

Selebihnya sih, mending ikutin tutorial di sini: Getting Started | SoftBody2D .. yang baru aku temukan pas lagi ngetik ini.

Yah, ini kasus salah pilih tutorial tapi nanggung udah ngerjain.

Github: OneDay-OneTut: Latihan ngerjain 1 tutorial Godot tiap hari selama bulan Maret

Asset:
– Kenney Donuts Pack
– Kenney Jumper Pack