Rigidbody overview
Joints

Colliders

Komponen kolider mendefinisikan bentuk GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary
untuk keperluan fisik collisions. Sebuah collider, yang tidak terlihat, tidak perlu bentuk yang sama persis seperti meshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary
GameObject. Perkiraan kasar dari jala sering lebih efisien dan tidak dapat didiskusikan dalam permainan.

Yang paling sederhana (dan setidaknya prosesor-intensive) kolider adalah tipe tabrakan primitive. Dalam 3D, ini adalah Kotak ColliderKomponen collider berbentuk kubus yang menangani tabrakan untuk GameObjects seperti dadu dan es batu. More info
Lihat di Glossary
, Sphere ColliderKomponen collider berbentuk sphere yang menangani tabrakan untuk GameObjects seperti bola atau hal-hal lain yang dapat kira-kira perkiraan sebagai bidang untuk tujuan fisika. More info
Lihat di Glossary
dan Kapsul ColliderKomponen collider berbentuk kapsul yang menangani tabrakan untuk GameObjects seperti barel dan tungkai karakter. More info
Lihat di Glossary
. Dalam 2D, Anda dapat menggunakan Kotak Collider 2D dan Lingkaran Collider 2D. Anda dapat menambahkan sejumlah ini ke GameObject tunggal untuk membuat compound colliders.

Senyawa sari

Senyawa sari perkiraan bentuk GameObject sambil menjaga overhead prosesor rendah. Untuk mendapatkan fleksibilitas lebih lanjut, Anda dapat menambahkan tabrakan tambahan pada GameObjects anak. Misalnya, Anda dapat memutar kotak relatif ke kapak lokal GameObject induk. Ketika Anda membuat senyawa collider seperti ini, Anda hanya boleh menggunakan satu komponen RigidbodyKomponen yang memungkinkan GameObject untuk dipengaruhi oleh gravitasi simulasi dan kekuatan lainnya. More info
Lihat di Glossary
, ditempatkan pada akar GameObject dalam hirarki.

sari primitif tidak bekerja dengan benar dengan transformasi geser. Jika Anda menggunakan kombinasi rotasi dan skala non-uniform dalam hierarki Transform sehingga bentuk yang dihasilkan tidak lagi bentuk primitif, tabrakan primitif tidak dapat mewakilinya dengan benar.

Mesh sari

Ada beberapa kasus, namun, di mana sari majemuk tidak cukup akurat. Dalam 3D, Anda dapat menggunakan Mesh ColliderKomponen collider bentuk bebas yang menerima referensi jala untuk menentukan bentuk permukaan tabrakannya. More info
Lihat di Glossary
untuk mencocokkan bentuk jaring GameObject persis. Dalam 2D, Poligon Collider 2D tidak cocok dengan bentuk grafis spriteObjek grafis 2D. Jika Anda digunakan untuk bekerja di 3D, Sprites pada dasarnya hanya tekstur standar tetapi ada teknik khusus untuk menggabungkan dan mengelola tekstur sprite untuk efisiensi dan kenyamanan selama perkembangan. More info
Lihat di Glossary
sempurna tetapi Anda dapat memperbaiki bentuk untuk setiap level of detailTeknik Tingkat Detail (LOD) adalah optimasi yang mengurangi jumlah segitiga yang dimiliki Unity untuk membuat GameObject ketika jaraknya dari kamera meningkat. More info
Lihat di Glossary
yang Anda suka.

sari ini jauh lebih banyak prosesor intensif daripada jenis primitif, sehingga menggunakannya dengan mudah untuk mempertahankan kinerja yang baik. Juga, sari jala tidak dapat tabrakan dengan sari jala lain (yaitu, tidak ada yang terjadi ketika mereka melakukan kontak). Anda dapat menjelajahi ini dalam beberapa kasus dengan menandai sari jala sebagai Convex di InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
. Ini menghasilkan bentuk collider sebagai "kejut konvex" yang seperti jala asli tetapi dengan undercuts yang diisi.

Manfaat ini adalah bahwa sari mesh cembung dapat tabrakan dengan tabrakan mesh lainnya sehingga Anda dapat menggunakan fitur ini ketika Anda memiliki karakter bergerak dengan bentuk yang sesuai. Namun, aturan yang baik adalah menggunakan tabrakan jala untuk geometri sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
dan perkiraan bentuk bergerak GameObjects menggunakan senyawa primitive colliders.

Static colliders

Anda dapat menambahkan tabrakan ke GameObject tanpa komponen yang kaku untuk membuat lantai, dinding dan elemen gerak lainnya dari Adegan. Ini disebut sebagai sari static. Sebaliknya, sari di GameObject yang memiliki kaku dikenal sebagai sari dynamic. lawan statis dapat berinteraksi dengan tabrakan dinamis tetapi karena mereka tidak memiliki kaku, mereka tidak bergerak dalam menanggapi tabrakan.

Bahan fisika

Ketika sari berinteraksi, permukaan mereka perlu mensimulasikan sifat material yang seharusnya mewakili. Misalnya, lembaran es akan licin sementara bola karet akan menawarkan banyak gesekan dan sangat bouncy. Meskipun bentuk sari tidak cacat selama tabrakan, gesekan dan bouncing mereka dapat dikonfigurasi menggunakan Physics Materials. Mendapatkan parameter tepat dapat melibatkan sedikit percobaan dan kesalahan. Bahan licin seperti es, misalnya, memiliki gesekan nol (atau sangat rendah). Bahan grippy seperti karet memiliki gesekan tinggi dan bounciness dekat. Lihat halaman referensi untuk Bahan Fisik dan Bahan Fisika 2D untuk rincian lebih lanjut pada parameter yang tersedia. Catatan bahwa untuk alasan historis, aset 3D sebenarnya disebut Physic MaterialA aset fisika untuk menyesuaikan gesekan dan efek bouncing benda-benda tabrakan. More info
Lihat di Glossary
(without S) tetapi setara 2D disebut Physics Material 2DGunakan untuk menyesuaikan gesekan dan bouncing yang terjadi antara benda fisika 2D ketika mereka tabrakan More info
Lihat di Glossary
(with S).

Triggers

Sistem scripting dapat mendeteksi ketika tabrakan terjadi dan memulai tindakan menggunakan fungsi OnCollisionEnter. Namun, Anda juga dapat menggunakan physics engineSebuah sistem yang mensimulasikan aspek sistem fisik sehingga benda dapat mempercepat dengan benar dan dipengaruhi oleh tabrakan, gravitasi dan kekuatan lainnya. More info
Lihat di Glossary
hanya untuk mendeteksi ketika satu tabrakan memasuki ruang lain tanpa membuat tabrakan. sari dikonfigurasi sebagai Trigger (menggunakan properti Is Trigger) tidak berperilaku sebagai objek padat dan hanya akan memungkinkan tabrakan lain untuk melewati. Ketika sari memasuki ruangnya, pemicu akan memanggil fungsi OnTriggerEnter pada scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
objek pemicu.

Panggilan tabrakan untuk skrip

Ketika tabrakan terjadi, fungsi panggilan mesin fisika dengan nama tertentu pada skrip yang melekat pada objek yang terlibat. Anda dapat menempatkan kode yang Anda sukai dalam fungsi ini untuk menanggapi acara tabrakan. Misalnya, Anda mungkin memainkan efek suara kecelakaan ketika benjolan mobil menjadi hambatan.

Pada pembaruan fisika pertama di mana tabrakan terdeteksi, fungsi OnCollisionEnter disebut. Selama update di mana kontak dipertahankan, OnCollisionStay disebut dan akhirnya, OnCollisionExit menunjukkan bahwa kontak telah rusak. Trigger collider memanggil fungsi OnTriggerEnter analog, OnTriggerStay dan OnTriggerExit. Perhatikan bahwa untuk fisika 2D, ada fungsi yang setara dengan 2D yang diterapkan pada nama, misalnya, OnCollisionEnter2D. Detail lengkap dari fungsi dan sampel kode ini dapat ditemukan di halaman Referensi Script untuk kelas MonoBehaviour.

Dengan tabrakan non-trigger normal, ada detail tambahan yang setidaknya salah satu objek yang terlibat harus memiliki kaku non-kinematik (yaitu, Apakah Kinematik harus dimatikan). Jika kedua objek kinematik kaku kemudian OnCollisionEnter, dll, tidak akan disebut. Dengan memicu tabrakan, pembatasan ini tidak berlaku dan begitu kaku kinematik dan non-kinematik akan meminta panggilan ke OnTriggerEnter ketika mereka memasukkan sari pemicu.

Interaksi kolider

Collider berinteraksi satu sama lain berbeda tergantung pada bagaimana komponen kaku mereka dikonfigurasi. Tiga konfigurasi penting adalah Catalog (yaitu, tidak ada kaku melekat pada semua), Rigidbody Collider dan Kinematic Rigidbody Collider.

Catalog

tabrakan statis adalah GameObject yang memiliki Collider tetapi tidak ada kaku. sari statis sebagian besar digunakan untuk geometri tingkat yang selalu tinggal di tempat yang sama dan tidak pernah bergerak di sekitar. Mengingat benda-benda yang kaku tabrakan dengan tabrakan statis tetapi tidak memindahkannya.

Dalam kasus tertentu, mesin fisika mengoptimalkan untuk tabrakan statis yang tidak pernah bergerak. Misalnya, kendaraan beristirahat di atas tabrakan statis tetap tertidur bahkan jika Anda memindahkan tabrakan statis ini. Anda dapat mengaktifkan, menonaktifkan, atau memindahkan tabrakan statis dalam runtime tanpa mempengaruhi kecepatan perhitungan mesin fisika. Juga, Anda dapat dengan aman skala static Mesh Collider selama skala seragam (tidak skewed).

Rigidbody Collider

Ini adalah GameObject dengan Collider dan kaku yang normal, non-kinematik terpasang. kolider kaku sepenuhnya disimulasikan oleh mesin fisika dan dapat bereaksi terhadap benturan dan kekuatan yang diterapkan dari skrip. Mereka dapat tabrakan dengan benda lain (termasuk tabrakan statis) dan merupakan konfigurasi Collider yang paling umum digunakan dalam permainan yang menggunakan fisika.

Kinematic Rigidbody Collider

Ini adalah GameObject dengan Collider dan a kinematic Rigidbody terpasang (yaitu, properti IsKinematic dari kakubody diaktifkan). Anda dapat memindahkan objek kaku kinematik dari skrip dengan memodifikasi Transform ComponentKomponen Transform menentukan Posisi, Rotasi, dan Skala setiap objek di tempat kejadian. Setiap GameObject memiliki Transform. More info
Lihat di Glossary
tetapi tidak akan menanggapi tabrakan dan memaksa seperti kaku non-kinematik. Kinematic kakubodies harus digunakan untuk tabrakan yang dapat dipindahkan atau dinonaktifkan/diaktifkan kadang-kadang tetapi itu harus berperilaku seperti tabrakan statis. Contoh ini adalah pintu geser yang biasanya harus bertindak sebagai hambatan fisik yang tidak bergerak tetapi dapat dibuka bila diperlukan. Tidak seperti tabrakan statis, kaku kinematik yang bergerak akan menerapkan gesekan ke objek lain dan akan “meningkat” kaku lain ketika mereka membuat kontak.

Bahkan ketika immobile, tabrakan kaku kinematik memiliki perilaku yang berbeda untuk tabrakan statis. Sebagai contoh, jika tabrakan diatur sebagai pemicu maka Anda juga perlu menambahkan kaku untuk itu untuk menerima acara pemicu di skrip Anda. Jika Anda tidak ingin pemicu jatuh di bawah gravitasi atau tidak dipengaruhi oleh fisika maka Anda dapat mengatur properti IsKinematic pada orang yang kaku.

Komponen kaku dapat dialihkan antara perilaku normal dan kinematik setiap saat menggunakan properti IsKinematic.

Contoh umum dari ini adalah efek "ragdoll" di mana karakter biasanya bergerak di bawah animasi tetapi dibuang secara fisik oleh ledakan atau tabrakan berat. Ketunggalan karakter dapat masing-masing diberikan komponen kaku mereka sendiri dengan IsKinematic diaktifkan secara default. Para anggota badan bergerak biasanya dengan animasi sampai IsKinematic dimatikan untuk semua dari mereka dan mereka segera berperilaku sebagai objek fisika. Pada titik ini, gaya tabrakan atau ledakan akan mengirim karakter terbang dengan tungkainya dibuang dengan cara yang meyakinkan.

Collision aksi matriks

Ketika dua objek collide, sejumlah peristiwa skrip yang berbeda dapat terjadi tergantung pada konfigurasi kaku benda yang bekerja. Grafik di bawah ini memberikan rincian fungsi acara yang disebut berdasarkan komponen yang melekat pada objek. Beberapa kombinasi hanya menyebabkan salah satu dari dua objek yang akan dipengaruhi oleh tabrakan, tetapi aturan umum adalah bahwa fisika tidak akan diterapkan pada objek yang tidak memiliki komponen kaku melekat.

Collision detection occurs and messages are sent upon collision
Catalog Rigidbody Collider Kinematic Rigidbody Collider Statis Pemicu Collider Rigidbody Trigger Collider Kinematic Rigidbody Trigger Collider
Catalog   Y        
Rigidbody Collider Y Y Y      
Kinematic Rigidbody Collider   Y        
Statis Pemicu Collider            
Rigidbody Trigger Collider            
Kinematic Rigidbody Trigger Collider            
Trigger messages are sent upon collision
Catalog Rigidbody Collider Kinematic Rigidbody Collider Statis Pemicu Collider Rigidbody Trigger Collider Kinematic Rigidbody Trigger Collider
Catalog         Y Y
Rigidbody Collider       Y Y Y
Kinematic Rigidbody Collider       Y Y Y
Statis Pemicu Collider   Y Y   Y Y
Rigidbody Trigger Collider Y Y Y Y Y Y
Kinematic Rigidbody Trigger Collider Y Y Y Y Y Y
Rigidbody overview
Joints