Mesh Collider
Sphere Collider

Rigidbody

Switch to Scripting

Rigidbodies memungkinkan GameObjectsObjek 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
Anda untuk bertindak di bawah kendali fisika. Yang kaku dapat menerima kekuatan dan torsi untuk membuat objek Anda bergerak dalam cara yang realistis. Setiap GameObject harus mengandung kaku untuk dipengaruhi oleh gravitasi, bertindak di bawah kekuatan tambahan melalui scripting, atau berinteraksi dengan benda lain melalui NVIDIA PhysX 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
.

Properties

Property: Function:
Mass Massa objek (dalam kilogram secara default).
Drag Berapa banyak tahan udara mempengaruhi objek ketika bergerak dari kekuatan. 0 berarti tidak ada hambatan udara, dan ketidakpastian membuat objek berhenti bergerak segera.
Angular Drag Berapa banyak tahan udara mempengaruhi objek ketika berputar dari torsi. 0 berarti tidak ada hambatan udara. Perhatikan bahwa Anda tidak dapat membuat objek berhenti berputar hanya dengan mengatur Drag Angular untuk ketidakpastian.
Use Gravity Jika diaktifkan, objek dipengaruhi oleh gravitasi.
Is Kinematic Jika diaktifkan, objek tidak akan didorong oleh mesin fisika, dan hanya dapat dimanipulasi oleh Transform. Hal ini berguna untuk bergerak platform atau jika Anda ingin menghidupkan seorang kaku yang memiliki HingeJoint terpasang.
InterpolateProses menghitung nilai dalam-antara dua nilai yang ditentukan. Digunakan dalam animasi (between keyframes), fisika (between waktu fisika), dan multiplayer (perbarui jaringan yang lebih baik)
Lihat di Glossary
Cobalah salah satu pilihan hanya jika Anda melihat kecewaan dalam gerakan kaku Anda.
- None Tidak ada Interpolasi diterapkan.
- Interpolate Transform dilancarkan berdasarkan Transformasi bingkai sebelumnya.
- ExtrapolateProses menyimpan beberapa nilai yang diketahui terakhir dan menggunakannya untuk memprediksi nilai masa depan. Digunakan dalam animasi, fisika dan multiplayer.
Lihat di Glossary
Transform dilancarkan berdasarkan perkiraan Transformasi bingkai berikutnya.
Collision DetectionProses otomatis yang dilakukan oleh Unity yang menentukan apakah yang bergerak GameObject dengan komponen kaku dan collider telah masuk ke kontak dengan sari lainnya. More info
Lihat di Glossary
Digunakan untuk mencegah benda bergerak cepat dari melewati benda lain tanpa mendeteksi collisionstabrakan terjadi ketika mesin fisika mendeteksi bahwa tabrakan dari dua GameObjects membuat kontak atau tumpang tindih, ketika setidaknya satu memiliki komponen kaku dan bergerak. More info
Lihat di Glossary
.
- Discrete Gunakan discrete collision detection terhadap semua Collider lainnya di 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
. sari lain akan menggunakan deteksi tabrakan diskritasi ketika pengujian untuk tabrakan terhadapnya. Digunakan untuk tabrakan normal (Ini adalah nilai default).
- Continuous Gunakan deteksi tabrakan yang diskritatif terhadap Collider dinamis (dengan kakubody) dan continuous collision detectionMetode deteksi tabrakan yang menghitung dan menyelesaikan tabrakan di seluruh langkah simulasi fisika. Ini dapat mencegah benda-benda yang bergerak cepat dari terowongan melalui dinding selama langkah simulasi. More info
Lihat di Glossary
berbasis menyapu terhadap kolider statis (tanpa kaku). Rigidbodies set ke Continuous Dynamic akan menggunakan deteksi tabrakan terus menerus ketika pengujian untuk tabrakan terhadap orang kaku ini. kaku lain akan menggunakan deteksi Collision Diskrit. Digunakan untuk objek yang perlu deteksi Continuous Dynamic untuk tabrakan. (Ini memiliki dampak besar pada kinerja fisika, biarkan diatur ke Discrete, jika Anda tidak memiliki masalah dengan tabrakan objek cepat)
- Continuous Dynamic Gunakan deteksi tabrakan terus menerus berbasis menyapu terhadap GameOjects diatur ke tabrakan Continuous dan Continuous Dynamic. Ini juga akan menggunakan deteksi tabrakan terus menerus terhadap tabrakan statis (tanpa kaku). Untuk semua sari lainnya, ia menggunakan deteksi tabrakan yang tersembunyi. Digunakan untuk objek bergerak cepat.
- Continuous Speculative Gunakan speculative continuous collision detectionMetode deteksi tabrakan yang mengembang benda bergerak fase lebar AABB sesuai dengan kebutuhan mereka. Ini memungkinkan dukungan untuk efek seperti rotasi. More info
Lihat di Glossary
terhadap kaku dan kolider. Ini juga satu-satunya mode CCD yang dapat Anda setkan tubuh kinematik. Metode ini cenderung lebih murah daripada deteksi tabrakan terus menerus berbasis menyapu.
ConstraintsPengaturan pada komponen bersama yang membatasi pergerakan atau rotasi. Jenis dan jumlah batasan bervariasi tergantung pada jenis Joint. More info
Lihat di Glossary
Pembatasan pada gerakan kaku:-
- Freeze Position Menghentikan orang yang bergerak di dunia X, Y dan Z secara selektif.
- Freeze Rotation Menghentikan orang yang berputar di sekitar X lokal, Y dan Z secara selektif.

Details

Rigidbodies memungkinkan GameObjects Anda untuk bertindak di bawah kontrol mesin fisika. Ini membuka pintu gerbang untuk perilaku seperti tabrakan realistis dan berbagai jenis jointsKomponen fisika yang memungkinkan koneksi dinamis antara komponen Rigidbody, biasanya memungkinkan beberapa tingkat pergerakan seperti engsel. More info
Lihat di Glossary
. Memanipulasi GameObjects Anda dengan menambahkan kekuatan ke kaku yang menciptakan perasaan yang sangat berbeda dan terlihat daripada menyesuaikan Transform ComponentBagian fungsional dari GameObject. GameObject dapat mengandung sejumlah komponen. Unity memiliki banyak komponen built-in, dan Anda dapat membuat Anda sendiri dengan menulis skrip yang berwarisi dari MonoBehaviour. More info
Lihat di Glossary
secara langsung. Umumnya, Anda tidak boleh memanipulasi orang yang kaku dan Transformasi GameObject yang sama - hanya satu atau yang lainnya.

Perbedaan terbesar antara memanipulasi Transform versus the Rigidbody adalah penggunaan kekuatan. kakubodies dapat menerima kekuatan dan torsi, tetapi Transforms tidak bisa. Transforms dapat diterjemahkan dan diputar, tetapi ini tidak sama dengan menggunakan fisika. Anda akan melihat perbedaan yang berbeda ketika Anda mencobanya sendiri. Menambahkan kekuatan/mentorkan kepada orang yang kaku sebenarnya akan mengubah posisi objek dan rotasi Transform componentKomponen Transform menentukan Posisi, Rotasi, dan Skala setiap objek di tempat kejadian. Setiap GameObject memiliki Transform. More info
Lihat di Glossary
. Inilah sebabnya Anda hanya harus menggunakan satu atau yang lain. Mengubah Transform sementara menggunakan fisika dapat menyebabkan masalah dengan tabrakan dan perhitungan lainnya.

Kaku harus ditambahkan secara eksplisit ke GameObject Anda sebelum mereka akan dipengaruhi oleh mesin fisika. Anda dapat menambahkan kaku ke objek yang dipilih dari Components->Physics->Rigidbody di menu. Sekarang objek Anda adalah pembaca fisika; itu akan jatuh di bawah gravitasi dan dapat menerima kekuatan melalui scripting, tetapi Anda mungkin perlu menambahkan ColliderBentuk tak terlihat yang digunakan untuk menangani tabrakan fisik untuk objek. Seorang sari tidak perlu menjadi bentuk yang sama dengan jala objek - perkiraan kasar sering lebih efisien dan tidak dapat dibedakan dalam gameplay. More info
Lihat di Glossary
atau Bersama untuk mendapatkannya untuk berperilaku persis bagaimana Anda ingin.

Parenting

Ketika sebuah objek berada di bawah kontrol fisika, itu bergerak semi-independent dari cara transformasi orang tua bergerak. Jika Anda memindahkan orang tua, mereka akan menarik anak kaku bersama dengan mereka. Namun, kaku masih akan jatuh karena gravitasi dan bereaksi terhadap peristiwa tabrakan.

Scripting

Untuk mengontrol Anda Kaku, Anda terutama akan menggunakan 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
untuk menambahkan kekuatan atau torsi. Anda melakukan ini dengan memanggil AddForce() dan AddTorque() pada kaku objek. Ingat bahwa Anda tidak boleh secara langsung mengubah Transformasi objek saat Anda menggunakan fisika.

Animation

Untuk beberapa situasi, terutama menciptakan efek ragdoll, perlu untuk beralih kontrol objek antara animasi dan fisika. Untuk tujuan ini kakubodies dapat ditandai isKinematic. Sementara orang kaku ditandai isKinematic, itu tidak akan dipengaruhi oleh tabrakan, kekuatan, atau bagian lain dari sistem fisika. Ini berarti bahwa Anda harus mengendalikan objek dengan memanipulasi komponen Transform secara langsung. Login Kaku akan mempengaruhi benda lain, tetapi mereka sendiri tidak akan dipengaruhi oleh fisika. Misalnya, Sendi yang melekat pada benda-benda Kinematik akan membatasi kaku lain yang melekat pada mereka dan Kinematic Rigidbodies akan mempengaruhi kakubodies lain melalui tabrakan.

Colliders

Colliders adalah jenis komponen lain yang harus ditambahkan bersama kaku untuk memungkinkan tabrakan terjadi. Jika dua benjolan kaku menjadi satu sama lain, mesin fisika tidak akan menghitung tabrakan kecuali kedua benda juga memiliki sari terpasang. Kobodi tanpa kaku hanya akan melewati satu sama lain selama simulasi fisika.

Colliders define the physical boundaries of a Rigidbody
Colliders mendefinisikan batas-batas fisik seorang kaku

Tambahkan Collider dengan menu Component->Physics. Lihat halaman Referensi Komponen dari setiap Collider individu untuk informasi lebih spesifik:

  • Kotak ColliderKomponen collider berbentuk kubus yang menangani tabrakan untuk GameObjects seperti dadu dan es batu. More info
    Lihat di Glossary
    - bentuk primitif dari kubus
  • 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
    - bentuk primitif dari sphere
  • Kapsul ColliderKomponen collider berbentuk kapsul yang menangani tabrakan untuk GameObjects seperti barel dan tungkai karakter. More info
    Lihat di Glossary
    - bentuk primitif kapsul
  • Mesh ColliderKomponen collider bentuk bebas yang menerima referensi jala untuk menentukan bentuk permukaan tabrakannya. More info
    Lihat di Glossary
    - menciptakan tabrakan dari 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
    objek, tidak dapat tabrakan dengan Collider Mesh lainnya
  • Roda ColliderRUMAH khusus untuk kendaraan yang ditanam. Ini memiliki deteksi tabrakan bawaan, roda fisika, dan model gesekan ban berbasis slip. Ini dapat digunakan untuk benda-benda selain roda, tetapi dirancang khusus untuk kendaraan dengan roda. More info
    Lihat di Glossary
    - khusus untuk membuat mobil atau kendaraan bergerak lainnya
  • Terrain ColliderKomponen collider berbentuk medan yang menangani tabrakan untuk permukaan tabrakan dengan bentuk yang sama dengan objek Terrain melekat pada. More info
    Lihat di Glossary
    - menangani tabrakan dengan sistem Unity terrainPemandangan di tempat kejadian Anda. Terrain GameObject menambahkan pesawat datar besar untuk adegan Anda dan Anda dapat menggunakan jendela Inspektur Terrain untuk menciptakan lanskap rinci. More info
    Lihat di Glossary
    system

Senyawa Collider

Senyawa Collider adalah kombinasi dari kolider primitif, bertindak secara kolektif sebagai seorang kaku tunggal. Mereka datang berguna ketika Anda memiliki model yang terlalu kompleks atau mahal dalam hal kinerja untuk mensimulasikan persis, dan ingin mensimulasikan tabrakan bentuk dengan cara yang optimal menggunakan perkiraan sederhana. Untuk membuat kolider majemuk, buat objek anak dari objek rekanan Anda, lalu tambahkan komponen Collider ke setiap objek anak. Ini memungkinkan Anda untuk memposisikan, memutar, dan mengukur setiap Collider dengan mudah dan mandiri satu sama lain. Anda dapat membangun senyawa Anda tabrakan dari sejumlah sari primitif dan / atau tabrakan jala cembung.

A real-world Compound Collider setup
Pengaturan Collider Compound dunia nyata

Dalam gambar di atas, Model Gun GameObject memiliki kaku yang melekat, dan beberapa primitive Colliders sebagai anak GameObjects. Ketika orang tua yang kaku dipindahkan oleh kekuatan, anak Collider bergerak bersama dengan itu. Collider primitif akan berkolaborasi dengan Collider Mesh lingkungan, dan orang tua Rigidbody akan mengubah cara bergerak berdasarkan kekuatan diterapkan padanya dan bagaimana rekan anak berinteraksi dengan Collider lain di Adegan.

Mesh Colliders tidak bisa biasanya tabrakan satu sama lain. Jika Collider Mesh ditandai sebagai Convex, maka dapat dilipat dengan Collider Mesh lainnya. Solusi khas adalah untuk menggunakan kolider primitif untuk benda apa pun yang bergerak, dan Collider Mesh untuk objek latar belakang statis.

Sitemap Senyawa collider mengembalikan panggilan individu untuk setiap pasangan tabrakan sari ketika menggunakan Note:.Collision Callbacks.

Deteksi Collision Berkelanjutan

Deteksi tabrakan terus menerus adalah fitur untuk mencegah tabrakan bergerak cepat dari melewati satu sama lain. Hal ini dapat terjadi ketika menggunakan deteksi tabrakan normal (Discrete), ketika objek adalah satu sisi tabrakan dalam satu bingkai, dan telah melewati tabrakan dalam bingkai berikutnya. Untuk memecahkan ini, Anda dapat mengaktifkan deteksi tabrakan terus menerus pada kaku objek yang bergerak cepat. Mengatur mode deteksi tabrakan ke Continuous untuk mencegah kaku dari melewati statis (yaitu, non-kaku) MeshColliders. Mengaturnya ke Continuous Dynamic untuk juga mencegah kaku dari melewati kakubodi yang didukung lainnya dengan mode deteksi tabrakan yang diatur ke Continuous atau Continuous Dynamic. Deteksi tabrakan terus menerus didukung untuk Box-, Sphere- dan KapsulColliders. Perhatikan bahwa deteksi tabrakan terus menerus dimaksudkan sebagai jaring pengaman untuk menangkap tabrakan dalam kasus di mana benda akan melewati satu sama lain, tetapi tidak akan memberikan hasil tabrakan yang akurat secara fisik, sehingga Anda mungkin masih mempertimbangkan untuk mengurangi nilai langkah Waktu tetap di TimeManager 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
untuk membuat simulasi lebih tepat, jika Anda menjalankan masalah dengan objek bergerak cepat.

Gunakan ukuran yang tepat

Ukuran jala GameObject Anda jauh lebih penting daripada massa kaku. Jika Anda menemukan bahwa orang kaku Anda tidak berperilaku persis bagaimana Anda mengharapkan - bergerak perlahan, mengapung, atau tidak tabrakan dengan benar - pertimbangkan menyesuaikan skala aset jala Anda. Timbangan unit default Unity adalah 1 unit = 1 meter, sehingga skala mesh impor Anda dipertahankan, dan diterapkan pada perhitungan fisika. Misalnya, pencakar langit yang menghancurkan akan jatuh terpisah sangat berbeda dari menara yang terbuat dari blok mainan, sehingga benda-benda ukuran yang berbeda harus dimodelkan untuk skala yang akurat.

Jika Anda model manusia memastikan modelnya sekitar 2 meter tinggi dalam Unity. Untuk memeriksa apakah objek Anda memiliki ukuran yang tepat membandingkannya dengan kubus default. Anda dapat membuat kubus menggunakan GameObject > 3D Object > Cube. Tinggi kubus akan tepat 1 meter, sehingga manusia Anda harus dua kali setinggi.

Jika Anda tidak dapat menyesuaikan mesh itu sendiri, Anda dapat mengubah skala seragam aset mesh tertentu dengan memilih di Project View dan memilih Assets->Import Settings… dari menu. Di sini, Anda dapat mengubah skala dan mengekspor kembali mesh Anda.

Jika permainan Anda mengharuskan GameObject Anda harus sesaat pada skala yang berbeda, itu oke untuk menyesuaikan nilai-nilai sumbu skala Transform Anda. Kelemahan adalah bahwa simulasi fisika harus melakukan lebih banyak pekerjaan pada saat objek disaat, dan dapat menyebabkan penurunan kinerja dalam permainan Anda. Ini bukan kerugian yang mengerikan, tetapi tidak seefisien sebagai finalisasi skala Anda dengan dua pilihan lainnya. Juga perlu diingat bahwa skala non-uniform dapat menciptakan perilaku yang tidak diinginkan saat Parenting digunakan. Untuk alasan ini selalu optimal untuk menciptakan objek Anda pada skala yang benar dalam aplikasi pemodelan Anda.

Hints

  • relatif Mass dari dua kaku menentukan bagaimana mereka bereaksi ketika mereka bertabrakan satu sama lain.
  • Membuat satu kaku memiliki lebih besar Mass daripada yang lain tidak membuatnya jatuh lebih cepat di musim gugur gratis. Gunakan Drag untuk itu.
  • Nilai Drag rendah membuat objek tampak berat. Yang tinggi membuatnya tampak ringan. Nilai khas untuk Drag adalah antara .001 (blok padat logam) dan 10 (kaki).
  • Jika Anda secara langsung memanipulasi komponen Transform objek Anda tetapi masih ingin fisika, melampirkan kaku dan membuatnya Kinematik.
  • Jika Anda bergerak GameObject melalui komponen Transform, tetapi Anda ingin menerima pesan Collision/Trigger, Anda harus melampirkan orang yang kaku ke objek yang bergerak.
  • Anda tidak dapat membuat objek berhenti berputar hanya dengan mengatur Drag Angular untuk ketidakpastian.

  • 2018-10-12 Login

  • Metode deteksi tabrakan yang terus menerus ditambahkan pada 2018.3

Mesh Collider
Sphere Collider