Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Unity 2D
Gamedevelopment

Unity 2D Joint: Jarak, Engsel, Target, dan Fixed Joint

by
Difficulty:BeginnerLength:LongLanguages:
This post is part of a series called Unity 2D Joints.
Unity 2D Joints: Slider, Relative, Spring, and Friction Joints

Indonesian (Bahasa Indonesia) translation by Aditia Dwiperdana (you can also view the original English article)

Final product image
What You'll Be Creating

Perkenalan

Unity adalah game engine yang terkenal dan memiliki banyak dokumentasi. Unity merupakan solusi banyak platform yang membuat kamu bisa membuat game atau aplikasi untuk beberapa platform sekaligus (iOS, Android, Web, PC, dan lain-lain). Awalnya, Unity difokuskan untuk pengembangan game 3D, tapi versi terkini memiliki kelengkapan untuk pengembangan game 2D.

Unity adalah pilihan yang baik untuk game developer, karena bekerja dengan baik untuk sebagian besar perangkat mobile, desktop, dan console, dan utamanya karena gratis untuk developer atau studio dengan pemasukan yang masih kecil.

Salah satu komponen kunci pada Unity adalah physics joint. Joint tersebut memiliki properti fisik (sesuai dengan namanya) dan kamu bisa membuat beberapa sambungan antar objek di dalam scene.

Kamu bisa menentukan hubungan antara dua objek dengan joint, yang berarti kamu bisa mensimulasikan aspek fisika dari objek yang terdiri dari beberapa bagian, misalnya pintu, platform bergerak, rantai, sampai wrecking ball.

Tutorial ini akan fokus untuk menjelaskan bagaimana joint 2D physics bekerja dan bagaimana menggunakannya untuk mendapat efek yang bagus (tanpa mengorbankan performa game).

Persyaratan

Pertama, pastikan kamu memiliki versi terbaru dari Unity, yang bisa kamu download di sini. Pada tutorial ini kita menggunakan versi 5.4.1f1. Pastikan kamu menggunakan versi terbaru Unity; jika tidak, kamu bisa menemui masalah mengikuti tutorial dan menggunakan physics joints.

Sebelum kita mamulai, saya ingin berterima kasih pada Ryukin Studio karena membolehkan saya menggunakan 2D Platformer Art Pack - Demo untuk tutorial ini.

Berikutnya, download file Unity3DJointsStarter. Unzip dan buka project pada Unity. Demo scene akan terbuka secara otomatis, jika tidak kamu bisa membukanya dari folder Scene.

Scene ini akan terlihat seperti berikut:

Starting Demo scene

Seperti yang bisa kamu lihat, kita memiliki karakter dan beberapa platform statis di beberapa tempat pada scene. Idenya adalah untuk membuat game 2D platformer kecil sembari menggunakan joint 2D untuk membuat rintangan untuk pemain lewati. Sepanjang tutorial ini, kamu akakn mencoba masing-masing jenis joint dan melihat bagaimana mereka bekerja, dengan pengecualian Wheel Joint 2D.

Jika kamu menekan  play, kamu akan melihat semua fungsi pada gameplay yang sudah dibuat. Kamu bisa menggunakan tombol panah untuk menggerakkan karakter dan tombol spasi untuk melompat.

First game experience

Distance Joint 2D

Distance joint membuat sprite dengan 2D physics untuk berputar mengelilingi suatu titik, sembari mempertahankan jarak dari titik tersebut. Kamu akan menggunakan distance joint untuk membuat rintangan pertama, kapak berayun. Buat sebuah GameObject pada Position (4.75, -1.25, 0) dan memberi nama Blade.

Lalu, buka folder GameAssets dan folder Platforms. Di sana kamu akan menemukan beberapa prefabs yang digunakan untuk membuat platform pada level. Drag prefab Platform6 dari folder dan jatuhkan pada GameObject Blade. Ini akan membuat menjadi child dari objek tersebut.

Sekarang kamu perlu mengubah beberapa properti dari game object ini. Pertama, ubah nama Platform6 menjadi Platform dan ubah posisinya menjadi (-0.07042211, 3.60032, 0). Sekarang ubah Order in Layer menjadi 3 pada komponen Sprite Renderer.

Distance Joint 2D - First gameobject configuration

Di dalam Box Collider 2D. matikan parameter Used by Effector dan hilangkan komponen Platform Effector 2D. Lalu tambahkan Rigidbody 2D, atur Is Kinematic menjadi true, dan nyalakan Freeze Rotation pada Z.

Distance Joint 2D - Platform final configuration

Platform untuk menyimpan pedang sudah siap. Sekarang tambahkan kapaknya. Di dalam folder Free Assets\Sprite, pilih sprite AxeBlade dan drag ke GameObject Blade, membuat child baru.

Seperti yang bisa kamu lihat, sprite tersebut terlalu besar dan tidak pada tempat yang benar. Ubah Position ke (-0.11, 3.56, 0) dan Scale menjadi (0.5, 0.5, 1).Lalu ubah Order in Layer menjadi 2.

Sebelum kamu bisa membuat kapak bekerja, kamu perlu menambahkan beberapa komponen. Tambahkan Polygon Collider 2D dan sebuah Rigidbody 2D. Pastikan Mass diatur menjadi 10.

Distance Joint 2D - AxeBlade GameObject

Kamu sekarang siap untuk menambahkan Distance Joint 2D. Tambahkan komponen Distance Joint 2D. Seperti bisa dilihat, komponen baru ini memiliki beberapa parameter yang bisa kamu atur untuk mengubah perilakunya dalam game.

Jangan takut, kamu akan segera belajar apa yang dilakukan oleh masing-masing parameter dan bagaimana mengaturnya. Kamu juga bisa lihat setelah memasangkan komponen pada AxeBlade, ada garis hijau yang muncul dari AxeBlade ke tengah layar. Ini adalah titik pusat, properti Connected Anchor.

Jalankan scene, lihatlah posisi kapak. Kamu akan lihat kapak terbang di layar sampai akhirnya berhenti dengan titik pusat, lalu berputar di joint tersebut. Kamu perlu memperbaiki masalah tersebut.

Perhatikan komponen Distance Joint 2D pada Inspector. Parameter pertama adalah Enable Collision. Ini menentukan apakah dua objek yang terhubung dengan joint bisa bertabrakan satu sama lain. Dalam kasus ini kamu tidak ingin hal ini terjadi, jadi biarkan tidak dicentang.

Parameter kedua adalah Connected Rigid Body. Satu ujung dari distance joint akan selalu terpasang pada objek tempat komponen ini berada, dan kamu bisa menggunakan parameter ini untuk menunjuk objek di ujung joint satunya. Jika kamu mengosongkan bagian ini, unity akan menghubungkan ujung joint pada titik tetap di scene.

Kamu perlu menghubungkan AxeBlade ke Platform, jadi drag Platform ke field Connected Rigid Body pada inspector.

Setelah mengatur ko neksi dan AxeBlade tetap terpilih, kamu bisa melihat kedua objek terhubung dengan joint pada Scene. Kamu bisa memeriksa koneksi dengan mengubah nilai Y pada AxeBlade. Jangan lupa mengatur AxeBlade Position kembali ke (-0.11, 3.56, 0) setelah kamu utak-atik.

Parameter berikutnya adalah Auto Configure Connected Anchor. Kamu perlu centang kotak ini jika kamu ingin Unity secara otomatis mengatur posisi anchor untuk objek lain yang terhubung dengan joint ini. Apa itu anchor? Kita akan jelaskan di bagian lain, tapi sementara kamu perlu mengetahui bahwa titik anchor bisa diatur manual atau otomatis (oleh Unity).

Dalam kasus ini kamu perlu membiarkan field ini tidak dicentang, karena kita akan mengatur anchor manual.

Parameter berikutnya adalah Anchor. Ini adalah titik di mana joint terhubung dengan GameObject seperti yang ditentukan pada koordinat lokal objek. Pada Scene, saat AxeBlade terpilih, kamu bisa melihat titik anchor sebagai lingkaran biru pada AxeBlade. Biarkan nilainya tetap (0,0).

Ingatlah bahwa lingkaran biru melambangkan titik anchor pertama akan terlihat terisi jika Transform tool sedang aktif pada Scene. Begitu pula, kamu akan melihat kotak putih jika Scale tool aktif. Menggerakkan anchor dari (0,0) akan menunjukkank bahwa lingkaran tersebut memang tidak terisi.

Parameter Connected Anchor menentukan titik anchor dari ujung joint. Jika Connected Rigid Body kosong, nilai ini berda pada sistem koordinasi scene. Tapi, saat Connected Rigid Body diatur seperti saat ini, koordinat Connected Anchor mengacu pada koordinat lokal rigid body yang terhubung. Titik anchor ini muncul sebagai lingkaran biru di tengah objek Platform. Kamu bisa membiarkan nilainya (0,0).

Seperti parameter Anchor, kamu bisa membuat Unity secara otomatis mengatur jarak joint dengan mencentang Auto Configure Distance. Saat opsi ini menyala, Unity akan secara otomatis memeriksa jarak antara dua objek dan mengaturnya sebagai jarak yang harus dipertahankan antar ujung joint. Dalam kasus ini, kita ingin fitur ini menyala.

Parameter Distance, seperti namanya, menunjukkan jarak yang perlu dipertahankan antar kedua objek. Kembali ke tampilan Scene, kamu bisa melihat garis hijau kecil memotong garis yang menghubungkan kedua objek. Ini bisa terlihat dengan mudah jika kamu menggerakkan AxeBlade dari Platform, seperti gambar di bawah.

Distance Joint 2D - Distance property

Garis ini menunjukkan jarak yang ditentukan oleh joint. Jika kamu menjalankan scene, joint akan menggerakkan AxeBlade agar Anchor yang kamu tentukan adalah posisi garis kecil tersebut. Kamu bisa meningkatkan atau mengurangi nilai ini dengan mematikan Auto Configure Joint. Ingatlah untuk mengatur kembali poisisi AxeBlade ke (-0.11, 3.56, 0) setelah kamu utak-atik nilainya. Auto Configure Distance juga perlu dicentang.

Parameter berikutnya adalah Max Distance Only. Jika dinyalakan, joint akan memaksakan jarak maksimum, artinya objek bisa mendekat satu sama lain, tapi tidak bisa lebih jauh dari yang ditentukan pada Distance. Pada contoh ini, kamu ingin jaraknya tetap, jadi biarkan parameter ini tidak dicentang.

Parameter terakhir adalah Break Force. Di sini kamu bisa menentukan tingkat force yang dibutuhkan untuk menghancurkan joint. Pada dasarnya, jika tingkat force tersebut tercapai, joint akan dihapus dan hubungan antara dua objek akan menghilang. Jika nilainya diatur menjadi Infinity, artinya joint tersebut tidak bisa dipatahkan. Untuk kasus ini, kita perlu membuatnya tidak bisa dipatahkan, jadi kita biarkan field ini.

Karena kamu ingin kapak bergerak seperti pendulum, ubah Rotation menjadi (0,0, 310).

Sekarang tekan Play dan kamu akan lihat AxeBlade tergantung pada Platform.

Oke, sekarag kapak bergerak, tapi ketika mengenai pemeran, tidak ada yang terjadi. Kamu perlu membuhuh pemain dan membuatnya mengulan dari checkpoint terakhir. Untuk melakukan ini, pergi ke folder GameAssets, buka folder Script. Ambil script Blade dan tambahkan pada AxeBlade. Jika kamu menekan tombol Play, pemain sekarang akan kalah ketika mengenai kapak.

Konfigurasi akhirnya adalah sebagai berikut:

Distance Joint 2D - Final Configuration

Untuk menyelasaikan fitur ini, tarik GameObject Blade dari Hierarchy dan masukkan folder Obstacle. Ini akan membuat prefabe untuk kapak berayun.

Hinge Joint 2D

Komponen Hinge Joint 2D membuat GameObject yang memiliki rigid-body physics untuk menempel pada suatu titik dan berputar di titik tersebut. Rotasi bisa terjadi karena respon tabrakan atau dimulai dengan motor torque dari joint itu sendiri. Kamu juga bisa dan perlu mengatur batas untuk mencegah hinge melakukan rotasi penuh.

Untuk mempelajari dasar hinge joint, kamu akan membuat mekanisma trapdoor ganda di maan apemain harus jatuh untuk melanjutkan level. Ayo kita lakukan!

Tambahkan sebuah GameObject kosong, beri nama Hinge, dan tempatkan pada Position (18.92, 0, 0). lalu buka Assets\Free Assets\Sprites dan drag dua sprite MetalPlatform ke GameObject Hinge. Beri nama bagian pertama HingePlat1 dan bagian kedua HingePlat2.

Tempatkan mereka bersebelahan; HingePlat1 perlu ditempatkan pada Position (0, 0, 0) dan HingetPlat2 pada (2.5, 0, 0). Ubah Order in Layer keduanya menjadi 2.

Untuk menambahkan komponen Hinge Joint 2D, kamu perlu menambahkan dua komponen pada sprite. Pilih HingePlat1 dan tambahkan Box Collider 2D dan Rigidbody 2D. Pada parameter Rigidbody 2D, beri centang pada properti Is Kinematic. Sekarang ulangi langkah yang sama untuk HingePlat2 (tanpa mencentang properti Is Kinematic).

Kamu juga bisa lihat ukuran dari Box Collider 2D lebih besar sprite HingePlat1, berakibat kesalahan deteksi tabrakan antara pemain dan platform. Untuk memperbaiki masalah ini, ubah properti Size (di dalam Box Collider 2D) untuk HingePlat1 dan HingePlat2 menjadi (2.45, 0.5).

HingePlat2 ini akan menjadi trapdoor pertama. Karena itu kamu perlu memberi komponen baru bernama Hinge Point 2D. Komponen ini memiliki beberapa properti, kita hanya akan membahas properti yang baru.

Enable Collision berarti kedua objek yang terhubung bisa saling menabrak. Connected Rigid Body menentukan di mana objek lain terhubung. Tambahkan HingePlat1 pada bagian ini. Use Motor menentukan jika hinge motor perlu diaktifkan. Kamu perlu memeriksa properti: Motor Speed menentukan target kecepatan motor pada derajat per detik. Atur mejadi -100 (untuk mengembalikan ke posisi tegak).

Maximum Motor Force menunjukkan torsi maksimum (atau rotasi) yang bisa dilakukan motor untuk mencapai kecepatan target. Kamu perlu mengaturnya menjadi 25. Use Limits, sama seperti namanya, menentukan batas sudut rotasi. Beri centang!

Lower Angle adalah batas bawah rotasi yang diperbolehkan, sementara Upper Angle adalah batas atas rotasinya. Ubah Upper Angle ke 60. Break Torque serupa dengan Break Force dan menentukan tingkat rotasi yang diperlukan untuk merusak dan menghapus joint. Lagi-lagi, Infinity berarti tidak bisa dipatahkan.

Sekarang matikan Auto Configure Connection. Kamu perlu mengatur Anchor dan Connected Anchor secara manual. Anchor perlu diatur menjadi (-1.12, 0) dan Connected anchor menjadi (1.09, 0). Scene kamu akan terlihat seperti berikut:

Hinge Joint 2D - Anchor and Connected Anchor

Konfigurasi akhir HingePlat2 adalah sebagai berikut:

Hinge Joint 2D - First platform final configuration

Jalankan game kamu, mari kita coba trapdoor pertama.

Jika semuanya berjalan dengan benar, sekarang waktunya untuk melajutkan dan membuat trapdoor kedua. Prosedurnya sama persis dengan langkah-langkah di atas, tapi perbedaannya pada detail konfigurasi Hinge Joint 2D. Langkah-langkah besarnya kurang lebih sebagai berikut:

  1. Tambahkan dua sprite MetalPlatform ke GameObject Hinge.
  2. Beri nama HingePlat3 dan HingePlat4, dan atur Order in Layer menjadi 2, Position ke (4.87, 0, 0) dan (7.25, 0, 0).
  3. Tambahakan RigidBody 2D dan Box Collider 2D pada kedua platform.
  4. Ubah Size pada Box Collider 2D keduanya menjadi (2.45, 0.5).
  5. Centang properti Is Kinematic pada HingePlat4 .
  6. Tambahkank properti Hinge Joint 2D pada HingePlat3.
  7. Tambahkan HingePlat4 ke Connected Rigid Body ke HingePlat3.
  8. Matikan Auto Configure Connection.
  9. Ubah Anchor dari (1.5, 0) dan Conected Anchor ke (-1, 0).
  10. Centang properti Use Motor dan atur Motor Speed menjadi 100 dan Maximum Motor Force menjadi 25.
  11. Centang Use Limits, dan Upper Angle perlu menjadi -60.

Jalankan gamemu dan lihat trapdoor ganda tersebut.

Karena kita ingin memaksa pemain untuk melewati trapdoor tersebut, kita perlu memberi suatu tembok di sekelilingnya. Pilih GameObject Hinge dan dari folder Assets\Free Assets\Sprites tambahkan enam MetalPlatform ke GameObject Hinge. Beri nama Wall1 dan Wall4, lalu ubah Order in Layer menjadi 2.

Tempatkan Wall1 pada Position (-0.9, -1.43, 0) dan ubah Z Rotation menjadi 90. Sisanya perlu diatur sebagai berikut:

  • Wall2 Position (-0.9, -3.8, 0), Z Rotation: 90

  • Wall3 Position: (8.2, 1.55, 0), Z Rotation 90

  • Wall4 Position: (8.2, 3.95, 0), Z Rotation 90

Sekarang, untuk setiap tembok kamu sudah menambahkan satu komponen tambahan, sebuah Box Collider 2D. Untuk setiap Box Collider 2D akan mengatur Size menjadi (2.21, 0.63). Berikutnya tambahkan Platform Effector 2D untuk setiap tembok dan atur Surface Arc menjadi 360 dan Side Arc untuk 180. Kembali ke Box Collidler 2D dan nyalakan Used By Effector.

Hasil akhirnya akan seperti berikut ini:

Hinge Joint 2D - Final Configuration and layout

Akhirnya, drag GameObject Hinge ke GameAssets\Obstacles untuk membuat prefab kedua.

Target Joint 2D

Target Joint 2D menghubungkan target spesifik, bukan objek rigid body lain seperti joint pada umumnya. Kita perlu menerapkan joint ini untuk membuat rintangan yang bergerak ke atas dan bawah.

Yang pertama perlu kamu lakukan adalah membuat platformnya. Pada folder Free Assets\Sprites, terdapat sprite MetalPlatform. Drag dan tempatkan di scene.

Ubah namanya menjadi RisingPlatform dan atur Position menjadi (35, -6, 0) dan atur Order in Layer menjadi 2. Kamu perlu beberapa komponen untuk membuatnya bekerja. Tambahkan Rigidbody 2D dan Box Collider 2D. Lalu, atur Mass menjadi 20 dan centang Freeze Position X dan Freeze Rotation Z. Pada Box Collider 2D, pastikan Size diatur menjadi (2.35, 0.55). Lalu atur Gravity Scale menjadi 0 agar objek tidak terpengaruh oleh gravitasi.

Komponen dasar sudah siap. Sekarang waktunya untuk menambahkan komponen Target Joint 2D. Seperti yang disebutkan sebelumnya, Target Joint 2D tidak berhubungan dengan objek lain dengan rigid body, melainkan berhubungan dengan suatu target spesifik. Ini adalah jenis joint pegas dan bisa digunakan untuk mengambil atau menggerakkan objek yang terpengaruh gravitasi, seperti platform bergerak kita.

Kita lihat lebih dekat komponen tersebut. Anchor bekerja seperti pada joint sebelumnya, jadi tidak perlu dijelaskan ulang. Target mengatur koordinat dunia ke mana joint tersebut akan bergerak. Ini adalah parameter yang penting, karena joint ini akan berusaha membuat jarak antara Anchor dan Target nol. Contohnya, kamu perlu mengatur Target menjadi (35, -6).

Lalu, kamu memiliki Auto Configure Target. Jika properti ini menyala, joint akan memperhitungkan target dengan sendirinya. Jika kamu meninggalkan opsi ini menyala, target akan berubah selama platform bergerak. Karena kamu tidak ingin hal tersebut terjadi, biarkan box ini tidak tercentang (hilangkan centang pada Auto Configure Target).

Selanjutnya adalah Max Force; di sini kamu mengatur force yang bisa diterapkan untuk mencapai posisi target. Atur nilainya menjadi 80.

Damping Ratio adalah tingkatan kamu mencegah osilasi pegas. Nilai ini bisa berisi 0 sampai 1, di mana 1 artinya tidak ada gerakan. Kamu ingin platform  untuk gerberak bebas, jadi atur nilainya menjadi 0. Lalu kamu memiliki Frequency, yang sesuai namanya, mengatur frekuensi pegas berosilasi untuk mencapat target. Atur parameter ini menjadi 5.

Yang terakhir adalah Break Force, seperti pada joint sebelumnya, kita biarkan saja nilainya tetap seperti semula.

Karena kamu ingin platform terus bergerak, kamu perlu mengubah posisi Target dari waktu ke waktu. Untungnya kamu sudah memiliki script untuk menangani hal tersebut. Buka folder Scripts, termukan script TractorPlatform dan tambahkan pada game object milikmu. Atur Target A menjadi (35, -6) dan Target B menjadi (35, 0). Time perlu bernilai 2.

Akhirnya, komponen kamu akan terlihat seperti ini:

Target Joint 2D - Final Configuration

Jika kamu menekan Play, kamu akan melihat target joint bekerja seperti yang diharapkan. Jangan lupa untuk membuat sebuah prefab, seperti yang kamu lakukan pada rintangan sebelumnya, dan tempatkan pada folder Obstacles.

Fixed Joint 2D

Fixed Joint 2D digunakan untuk mengatur dua objek berdasarkakn rigid-body physics agar jaraknya sama satu sama lain. Karena itu, kedua objek selalu memiliki offset antara sebuah posisi dan sudut.

Untuk menggunakan joint ini, kamu perlu membuat platform logam yang hanya bisa bergerak ketika pemain menggerakkan sebuah magnel yang terhubung pada objek tersebut. Pemain harus mendorong magnet untuk memindahkan platform dan melanjutkan level.

Mulai dengan membuat GameObject kosong, beri nama MagnetPlatform dan atur Position menjadi (41.81, 5.22, 0). Lalu, ambil sprite Magnet dari folder Sprites dan jatuhkan pada MagnetPlatform. Atur Position Magnet menjadi (0.55, 3.15, 0) dan Order in Layer menjadi 3.

Lalu, tambahkan komponen Rigidbody 2D dan Circle Collider 2D. Atur Mass ke 200 dan nyalakan Freeze Rotation Z. Pastikan Radius pada Circle Collider diatur menjadi 0.4. Di akhir, Magnet harusnya terlihat seperti berikut ini:

Fixed Joint - Magnet configuration

Sekarang, pada folder Sprites, drag MetalPlatform ke GameObject MagnetPlatform. Atur Position dari MetalPlatform menjadi (0.57, -1.73, 0), Rotation menjadi (0, 0, 90), dan Scale menjadi (2, 1, 1). Atur Order in Layer menjadi 3.

Lalu, tambahkan komponen berikut: Rigidbody 2D, dan Box Collider 2D. Pada Rigidbody 2D, atur Mass menjadi 1000 dan nyalakan Freeze Rotation Z. Akhirnya, pada BoxCollider 2D, atur Size menjadi (2.31, 0.52).

Sekarang setelah semua siap, waktunya untuk mengatur Fixed Joint 2D dan menghubungkan platform magnet dan metal. Pilih MetalPlatform, tambahkan komponen FixedJoint 2D.

Joint beru ini membuat dua game object dengan rigid body untuk mempertahankan jarak linear dan angular satu sama lain. Dalam kasus ini, kamu ingin platform metal menjaga jarak tertentu dari magnet.

Offset linear dan angular ini diatur berdasarkan posisi relatif dan orientasi antar dua game object. Ini artinya saat kamu mengubah posisi salah satu objek pada Scene View, kamu akan mengupdate offsetnya.

Joint ini menggunakan simulasi pegas yang diatur sekeras mungkin. Tapi kekuatan pegas masih bisa diatur menjadi kuat atau lemah. Pegas ini menerapkan gaya antara objek, dan bertanggung jawab mempertahankan offset yang diinginkan.

Jika kamu lihat komponen tersebut, kamu akan menemukan beberapa properti yang sudah dikenali.

Selain properti tersebut, semua parameter bekerja seperti pada joint lain, tidak perlu dijelaskan ulang. Terkait Damping Ratio, parameter ini menggambarkan tingkat seberapa kamu mau mencegah osilasi pegas. Kamu bisa mengatur nilai 0 sampai 1, di mana 1 artinya tidak ada gerakan.

Frequency adalah frekuensi pegas berosilasi saat kedua objek yang terhubung mendekati jarak perpisahan. Parameter ini bisa menerima nilai 1 sampai 1000000. Semakin tinggi nilainya, semakin kaku pegas tersebut.

Ketahuilah walau nilai lebih tinggi berarti pegas yang lebih kaku, jika kamu set Frequency menjadi 0, pegas akan menjadi kaku sepenuhnya.

Sekarang, terkait rintangan yang mau kamu buat, yang perlu dilakukan adalah drag game object Magnet ke field Connected Rigid Body. Semua parameter lain bisa dibiarkan sesuai nilai awalnya.

Fixed Joint 2D - Configuration

Tekan Play dan cobalah rintangan baru tersebut.

Sekarang rintangannya sudah siap, buat prefabnya dengan drag GameObject ke folder Obstacles.

Kesimpulan

Ini menutup tutorial pertama tentang Unity Joint 2D. Kamu belajar tentang empat joint, distance, hinge, target, dan fixed joint. Dengan pengetahuan ini kamu bisa mulai membuat dunia 2D yang dipenuhi dengan objek dinamis dan kompleks. Pada tutorial kedua, kamu akan belajar tentang slider, relative, spring, dan friction joint.

Jika kamu punya petanyaan atau komentar, seperti biasa, jangan sungkan menuliskannya di bagian komentar.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.