Referensi Fisika 2D
Catalog 2D

kaku 2D

Switch to Scripting

Komponen 2D yang kaku menempatkan objek di bawah kendali 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
. Banyak konsep yang akrab dari komponen standar Komponen yang memungkinkan GameObject untuk dipengaruhi oleh gravitasi simulasi dan kekuatan lainnya. More info
Lihat di Glossary
membawa ke Rigidbody 2D; perbedaannya adalah bahwa dalam 2D, objek hanya dapat bergerak di pesawat XY dan hanya dapat berputar pada sumbu tegak lurus ke pesawat itu.

The Rigidbody 2D component appears differently in the Unity Editor depending on which Body Type you have selected. See Body Type, below, to learn more.
Komponen 2D Rigidbody muncul berbeda di Editor Unity tergantung pada Jenis Tubuh yang telah Anda pilih. Lihat Jenis Tubuh, di bawah ini, untuk mempelajari lebih lanjut.

Cara kerja kaku 2D

Biasanya, Transform componentKomponen Transform menentukan Posisi, Rotasi, dan Skala setiap objek di tempat kejadian. Setiap GameObject memiliki Transform. More info
Lihat di Glossary
Editor Unity mendefinisikan bagaimana 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
(dan anaknya GameObjects) diposisikan, diputar dan berskala dalam 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
. Ketika diubah, itu memperbarui komponen lain, yang dapat memperbarui hal-hal seperti di mana mereka render atau di mana collidersBentuk 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
diposisikan. Mesin fisika 2D mampu memindahkan sari dan membuatnya berinteraksi satu sama lain, sehingga metode diperlukan untuk mesin fisika untuk mengomunikasikan pergerakan tabrakan ini kembali ke komponen Transform. Gerakan dan koneksi ini dengan tabrakan adalah komponen 2D yang kaku.

Komponen Rigidbody 2D mengesampingkan Transform dan memperbaruinya ke posisi/rotasi yang didefinisikan oleh kakubody 2D. Perhatikan bahwa sementara Anda masih dapat menimpa kaku 2D dengan memodifikasi komponen Transform sendiri (karena Unity mengekspos semua sifat pada semua komponen), melakukannya akan menyebabkan masalah seperti GameObjects melewati atau satu sama lain, dan gerakan yang tidak dapat diprediksi.

Setiap komponen Collider 2D ditambahkan ke GameObject yang sama atau GameObject anak sangat melekat pada kakubody 2D. Ketika kolider 2D melekat pada kaku 2D, bergerak dengan itu. 2D kolider tidak boleh dipindahkan langsung menggunakan Transform atau offset sari; 2D kaku harus dipindahkan. Ini menawarkan kinerja terbaik dan memastikan deteksi collisiontabrakan 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
yang benar. Collider 2Ds melekat pada yang sama Rigidbody 2D tidak akan tabrakan satu sama lain. Ini berarti Anda dapat membuat set sari yang bertindak efektif sebagai sari senyawa tunggal, semua bergerak dan berputar di sinkronisasi dengan kakubody 2D.

Ketika merancang Adegan, Anda bebas untuk menggunakan default Rigidbody 2D dan mulai melampirkan sari. sari ini memungkinkan sari lain yang melekat pada kaku yang berbeda 2D untuk saling bertabrakan satu sama lain.

Tip

Menambahkan Rigidbody 2D memungkinkan 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
untuk bergerak dalam cara meyakinkan secara fisik dengan menerapkan kekuatan dari API scripting. Ketika komponen collider yang tepat juga melekat pada sprite GameObject, itu dipengaruhi oleh tabrakan dengan GameObject bergerak lainnya. Menggunakan fisika menyederhanakan banyak mekanik gameplay umum dan memungkinkan perilaku realistis dengan pengkodean minimal.

Jenis Tubuh

Komponen 2D Rigidbody memiliki pengaturan pada Body Type label teratas. Pilihan yang Anda pilih untuk ini mempengaruhi pengaturan lain yang tersedia pada komponen.

Ada tiga pilihan untuk Body Type; masing-masing mendefinisikan perilaku yang umum dan tetap. Setiap Collider 2D melekat pada kaku 2D mengherits kakubody 2D Body Type. Tiga pilihan adalah:

  • Dynamic
  • Kinematic
  • Static

Pilihan yang Anda pilih mendefinisikan:

  • Gerakan (posisi & rotasi) perilaku
  • Interaksi kolider

Perhatikan bahwa meskipun kaku 2D sering digambarkan sebagai bekerja sama satu sama lain, itu adalah Collider 2Ds melekat pada masing-masing tubuh yang collide. Login 2D tidak dapat saling bertabrakan satu sama lain tanpa sari.

Mengubah Jenis Tubuh dari 2D kaku dapat menjadi proses yang rumit. Ketika perubahan Jenis Tubuh, berbagai sifat internal yang berhubungan dengan massa segera dihitung, dan semua kontak yang ada untuk Collider 2Ds melekat pada kakubody 2D perlu dievaluasi ulang selama GameObject's next FixedUpdate. Tergantung pada berapa banyak kontak dan Collider 2D melekat pada tubuh, mengubah Jenis Tubuh dapat menyebabkan variasi dalam kinerja.

Jenis Tubuh: Dinamis

A Dynamic Rigidbody 2D dirancang untuk bergerak di bawah simulasi. Ini memiliki set lengkap properti yang tersedia untuk itu seperti massa dan drag yang terbatas, dan dipengaruhi oleh gravitasi dan kekuatan. Tubuh dinamis akan tabrakan dengan setiap jenis tubuh lainnya, dan merupakan jenis tubuh yang paling interaktif. Ini adalah jenis bodi default untuk 2D yang kaku, karena itu adalah jenis tubuh yang paling umum untuk hal-hal yang perlu bergerak. Ini juga jenis tubuh yang paling hemat kinerja, karena sifatnya yang dinamis dan berinteraksi dengan segala sesuatu di sekitarnya. Semua sifat kaku 2D tersedia dengan jenis tubuh ini.

Jangan menggunakan komponen Transform untuk mengatur posisi atau rotasi dari 2D . Reposisi simulasi a Dynamic Rigidbody 2D sesuai dengan kecepatannya; Anda dapat mengubah ini langsung melalui kekuatan yang diterapkan padanya oleh Dynamic, atau secara tidak langsung melalui tabrakan dan gravitasi.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
, or indirectly via collisions and gravity.

Property: Function:
Body Type Mengatur pengaturan komponen 2D yang kaku, sehingga Anda dapat memanipulasi perilaku gerakan (posisi dan rotasi) dan interaksi Collider 2D.
Options: Dynamic, Kinematic, Static
MaterialAset yang menentukan bagaimana permukaan harus diberikan. More info
Lihat di Glossary
Gunakan ini untuk menentukan bahan umum untuk semua Collider 2D melekat pada orang tua tertentu Rigidbody 2D.
Note: A Collider 2D menggunakan properti Materialnya sendiri jika memiliki satu set. Jika tidak ada Bahan yang ditentukan di sini atau di Collider 2D, opsi default adalah None (Physics Material 2D). Ini menggunakan bahan default yang dapat Anda set di jendela Fisika 2D.
A Collider 2D menggunakan urutan prioritas berikut untuk menentukan pengaturan Material mana yang digunakan:
1. Bahan Fisika 2D ditentukan pada Collider 2D itu sendiri.
2. Bahan Fisika 2D ditentukan pada kaku terpasang 2D.
A Fisika Bahan 2D bahan default yang ditentukan dalam jendela Fisika 2D.
Tip: Gunakan ini untuk memastikan bahwa semua Collider 2D melekat pada jenis tubuh Static yang sama 2D dapat semua menggunakan bahan yang sama.
Simulated Enable Simulated (check the box) jika Anda menginginkan 2D yang kaku dan setiap 2D yang terpasang dan 2Ds untuk berinteraksi dengan simulasi fisika selama waktu berjalan. Jika ini dinonaktifkan (kotak tidak dicentang), komponen ini tidak berinteraksi dengan simulasi. Lihat JointKomponen fisika yang memungkinkan koneksi dinamis antara komponen Rigidbody, biasanya memungkinkan beberapa tingkat pergerakan seperti engsel. More info
Lihat di Glossary
, di bawah ini, untuk rincian lebih lanjut. Kotak ini diperiksa secara default.Sifat 2D kaku: Login, below, for more details. This box is checked by default.
Use Auto Mass Periksa kotak jika Anda ingin 2D kaku untuk secara otomatis mendeteksi massa GameObject dari Collider 2D.
Mass Tentukan massa kaku 2D. Ini diabu-abu jika Anda telah memilih Gunakan Auto Mass.
Linear Drag Koefisien drag mempengaruhi pergerakan posisi.
Angular Drag Koefisien drag mempengaruhi gerakan rotasi.
Gravity Scale Tentukan tingkat ke mana GameObject dipengaruhi oleh gravitasi.
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
Tentukan bagaimana tabrakan antara Collider 2D terdeteksi.
        Discrete Ketika Anda mengatur Collision Detection untuk Discrete, GameObjects dengan Rigidbody 2Ds dan Collider 2Ds dapat tumpang tindih atau melewati satu sama lain selama pembaruan fisika, jika mereka bergerak cukup cepat. Kontak Collision hanya dihasilkan pada posisi baru.
        Continuous Ketika Collision Detection diatur ke Continuous, GameObjects dengan Rigidbody 2Ds dan Collider 2Ds tidak melewati satu sama lain selama pembaruan. Sebagai gantinya, Unity menghitung titik dampak pertama dari 2D Collider, dan memindahkan GameObject di sana. Perhatikan bahwa ini membutuhkan waktu CPU lebih dari Discrete.
Sleeping Mode Tentukan bagaimana GameObject "tidur" untuk menghemat waktu prosesor ketika sedang beristirahat.
Tidur Tidur dinonaktifkan (ini harus dihindari di mana mungkin, karena dapat mempengaruhi sumber daya sistem).
        Start Awake GameObject awalnya terjaga.
        Start Asleep GameObject awalnya tidak tertidur tetapi dapat dikenakan oleh tabrakan.
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
Tentukan bagaimana gerakan GameObject diinterpolasi antara pembaruan fisika (penggunaan ketika gerakan cenderung jerky).
        None Tidak ada gerakan halus diterapkan.
        Interpolate Gerakan dilancarkan berdasarkan posisi GameObject dalam bingkai sebelumnya.
        Extrapolate Gerakan dilancarkan berdasarkan perkiraan posisinya dalam bingkai berikutnya.
ConstraintsPengaturan pada komponen bersama yang membatasi pergerakan atau rotasi. Jenis dan jumlah batasan bervariasi tergantung pada jenis Joint. More info
Lihat di Glossary
Tentukan pembatasan pada gerakan 2D kaku.
Freeze Position Berhenti kaku 2D bergerak di dunia X & Y sumbu selektif.
Freeze Rotation Berhenti kaku 2D berputar di sekitar sumbu Z selektif.

Jenis Tubuh: Kinematik

A Kinematic Rigidbody 2D dirancang untuk bergerak di bawah simulasi, tetapi hanya di bawah kontrol pengguna yang sangat eksplisit. Sementara 2D kaku Dynamic dipengaruhi oleh gravitasi dan kekuatan, 2D kaku Kinematic. Untuk alasan ini, cepat dan memiliki permintaan yang lebih rendah pada sumber daya sistem daripada 2D kaku Dynamic. Kinematic Rigidbody 2D dirancang untuk diposisikan secara eksplisit melalui atau. Gunakan pertanyaan fisika untuk mendeteksi tabrakan, dan skrip untuk memutuskan di mana dan bagaimana kakubody 2D harus bergerak.

A Kinematic Rigidbody 2D masih bergerak melalui kecepatannya, tetapi kecepatan tidak dipengaruhi oleh kekuatan atau gravitasi. A Kinematic Rigidbody 2D tidak tabrakan dengan 2Ds Kinematic kaku lainnya atau dengan Static Rigidbody 2Ds; itu hanya tabrakan dengan Dynamic Rigidbody 2Ds. Mirip dengan Static Rigidbody 2D (lihat di bawah), beperilaku Kinematic Rigidbody 2D seperti objek yang tidak bergerak (seperti jika memiliki massa tak terbatas) selama tabrakan. Sifat terkait massa tidak tersedia dengan Jenis Tubuh ini.

Property: Function:
Body Type Mengatur pengaturan komponen 2D yang kaku, sehingga Anda dapat memanipulasi perilaku gerakan (posisi dan rotasi) dan interaksi Collider 2D.
Options: Dynamic, Kinematic, Static
Material Gunakan ini untuk menentukan bahan umum untuk semua Collider 2D melekat pada orang tua tertentu Rigidbody 2D.
Note: A Collider 2D menggunakan properti Materialnya sendiri jika memiliki satu set. Jika tidak ada Bahan yang ditentukan di sini atau di Collider 2D, opsi default adalah None (Physics Material 2D). Ini menggunakan bahan default yang dapat Anda set di jendela Fisika 2D.
A Collider 2D menggunakan urutan prioritas berikut untuk menentukan pengaturan Material mana yang digunakan:
1. Bahan Fisika 2D ditentukan pada Collider 2D itu sendiri.
2. Bahan Fisika 2D ditentukan pada kaku terpasang 2D.
A Fisika Bahan 2D bahan default yang ditentukan dalam jendela Fisika 2D.
TIP: Gunakan ini untuk memastikan bahwa semua Collider 2D melekat pada jenis tubuh Static yang sama 2D dapat semua menggunakan bahan yang sama.
Simulated Diaktifkan Simulated (check kotak) jika Anda menginginkan 2D yang kaku dan setiap 2D yang terpasang dan 2D Bersama untuk berinteraksi dengan simulasi fisika selama waktu berjalan. Jika ini dinonaktifkan (kotak tidak dicentang), komponen ini tidak berinteraksi dengan simulasi. Lihat Sifat 2D kaku: Login, di bawah ini, untuk rincian lebih lanjut. Kotak ini diperiksa secara default.
Use Full Kinematic Contacts Aktifkan pengaturan ini (check kotak) jika Anda ingin kaku 2D Kinematic untuk tabrakan dengan semua tipe tubuh 2D kaku. Ini mirip dengan Dynamic Rigidbody 2D, kecuali Kinematic Rigidbody 2D tidak dipindahkan oleh mesin fisika ketika menghubungi komponen 2D kaku lainnya; bukan bertindak sebagai objek yang tidak bergerak, dengan massa tak terbatas. Ketika Use Full Kinematic Contacts dinonaktifkan, Kinematic Rigidbody 2D hanya tabrakan dengan Dynamic Rigidbody 2Ds. Lihat Sifat 2D kaku: Gunakan Kontak Kinematik Penuh, di bawah ini, untuk rincian lebih lanjut. Kotak ini tidak dicentang secara default.
Collision Detection Tentukan bagaimana tabrakan antara Collider 2D terdeteksi.
        Discrete Ketika Anda mengatur Collision Detection untuk Discrete, GameObjects dengan Rigidbody 2Ds dan Collider 2Ds dapat tumpang tindih atau melewati satu sama lain selama pembaruan fisika, jika mereka bergerak cukup cepat. Kontak Collision hanya dihasilkan pada posisi baru.
        Continuous Ketika Collision Detection diatur ke Continuous, GameObjects dengan Rigidbody 2Ds dan Collider 2Ds tidak melewati satu sama lain selama pembaruan. Sebagai gantinya, Unity menghitung titik dampak pertama dari 2D Collider, dan memindahkan GameObject di sana. Perhatikan bahwa ini membutuhkan waktu CPU lebih dari Discrete.
Sleeping Mode Tentukan bagaimana GameObject "tidur" untuk menghemat waktu prosesor ketika sedang beristirahat.
Tidur Tidur dinonaktifkan (ini harus dihindari di mana mungkin, karena dapat mempengaruhi sumber daya sistem).
        Start Awake GameObject awalnya terjaga.
        Start Asleep GameObject awalnya tidak tertidur tetapi dapat dikenakan oleh tabrakan.
Interpolate Tentukan bagaimana gerakan GameObject diinterpolasi antara pembaruan fisika (penggunaan ketika gerakan cenderung jerky).
        None Tidak ada gerakan halus diterapkan.
        Interpolate Gerakan dilancarkan berdasarkan posisi GameObject dalam bingkai sebelumnya.
        Extrapolate Gerakan dilancarkan berdasarkan perkiraan posisinya dalam bingkai berikutnya.
Constraints Tentukan pembatasan pada gerakan 2D kaku.
Posisi Beku Berhenti kaku 2D bergerak di dunia x & y axes selektif.
Beku Rotasi Berhenti kaku 2D berputar di sekitar sumbu z dunia selektif.

Jenis Tubuh: Statis

A Static Rigidbody 2D dirancang untuk tidak bergerak di bawah simulasi sama sekali; jika ada tabrakan dengan itu, behaves Static 2D seperti objek yang tidak bergerak (seskipun memiliki massa tak terbatas). Ini juga merupakan jenis tubuh yang paling intensif untuk digunakan. Tubuh Static hanya tabrakan dengan Dynamic Rigidbody 2Ds. Memiliki dua Static Rigidbody 2D collide tidak didukung, karena mereka tidak dirancang untuk bergerak.

Hanya seperangkat properti yang sangat terbatas yang tersedia untuk Jenis Tubuh ini.

Property: Function:
Body Type Mengatur pengaturan komponen 2D yang kaku, sehingga Anda dapat memanipulasi perilaku gerakan (posisi dan rotasi) dan interaksi Collider 2D.
Options: Dynamic, Kinematic, Static
Material Gunakan ini untuk menentukan bahan umum untuk semua Collider 2D melekat pada orang tua tertentu Rigidbody 2D.
Note: A Collider 2D menggunakan properti Materialnya sendiri jika memiliki satu set. Jika tidak ada Bahan yang ditentukan di sini atau di Collider 2D, opsi default adalah None (Physics Material 2D). Ini menggunakan bahan default yang dapat Anda set di jendela Fisika 2D.
A Collider 2D menggunakan urutan prioritas berikut untuk menentukan pengaturan Material mana yang digunakan:
1. Bahan Fisika 2D ditentukan pada Collider 2D itu sendiri.
2. Bahan Fisika 2D ditentukan pada kaku terpasang 2D.
A Fisika Bahan 2D bahan default yang ditentukan dalam jendela Fisika 2D.
TIP: Gunakan ini untuk memastikan bahwa semua Collider 2D melekat pada jenis tubuh Static yang sama 2D dapat semua menggunakan bahan yang sama.
Simulated Diaktifkan Simulated (check kotak) jika Anda menginginkan 2D yang kaku dan setiap 2D yang terpasang dan 2D Bersama untuk berinteraksi dengan simulasi fisika selama waktu berjalan. Jika ini dinonaktifkan (kotak tidak dicentang), komponen ini tidak berinteraksi dengan simulasi. Lihat Sifat 2D kaku: Login, di bawah ini, untuk rincian lebih lanjut. Kotak ini diperiksa secara default.

Ada dua cara untuk menandai 2D kaku sebagai Static:

  1. Untuk GameObject dengan komponen Collider 2D tidak memiliki komponen 2D kaku sama sekali. Semua Collider 2Ds tersebut dianggap secara internal melekat pada komponen 2D yang tersembunyi.Static Rigidbody 2D component.

  2. Untuk GameObject untuk memiliki kaku 2D dan untuk kakubody 2D untuk diatur ke Static.

Metode 1 adalah tangan singkat untuk membuat Static Collider 2Ds. Saat membuat sejumlah besar Static Collider 2Ds, lebih mudah tidak harus menambahkan 2D kaku untuk setiap GameObject dengan Collider 2D.

Metode 2 ada untuk alasan kinerja. Jika kolider Static 2D perlu dipindahkan atau dikonfigurasi pada waktu berjalan, lebih cepat dilakukan sehingga ketika memiliki kakunya sendiri 2D. Jika sekelompok Collider 2Ds perlu dipindahkan atau dikonfigurasi pada waktu berjalan, lebih cepat untuk memiliki mereka semua anak-anak dari satu orang tua Rigidbody 2D ditandai sebagai Static daripada bergerak setiap GameObject secara individual.

Sitemap Seperti yang tercantum di atas, Note: Rigidbody 2D dirancang tidak bergerak, dan tabrakan antara dua Static Rigidbody Static yang mengganggu tidak terdaftar. Tapi, 2D objectsPermainan 2D Objek seperti peta ubin atau sprite. More info
Lihat di Glossary
Rigidbody 2Ds dan Static Rigidbody 2D akan berinteraksi satu sama lain jika salah satu Collider 2D mereka diatur menjadi pemicu. Ada juga fitur yang mengubah tubuh Kinematic akan berinteraksi dengan (lihat Kinematic, di bawah).Gunakan Kontak Kinematik Penuh, below).

Sifat 2D kaku

Simulated

Gunakan properti Simulated untuk berhenti (tidak dicentang) dan mulai (dichecked) kakubody 2D dan setiap terpasang Collider 2Ds dan Joint 2Ds dari berinteraksi dengan simulasi fisika 2D. Mengubah properti ini jauh lebih banyak memori dan prosesor-efisien daripada mengaktifkan atau menonaktifkan individu Collider 2D dan komponen Bersama 2D.

Ketika kotak Simulated diperiksa, berikut terjadi:

  • 2D kaku bergerak melalui simulasi (gravity dan fisika kekuatan diterapkan)
  • Setiap terpasang Collider 2D terus membuat kontak baru dan terus-menerus mengevaluasi kembali kontak
  • Setiap terpasang Bersama 2D disimulasikan dan membatasi kaku terpasang 2D
  • Semua objek fisika internal untuk Rigidbody 2D, Collider 2D & Joint 2D tetap dalam memori

Ketika kotak Simulated tidak diperiksa, berikut terjadi:

  • kaku 2D tidak dipindahkan oleh simulasi (gravity dan fisika kekuatan tidak diterapkan)
  • The Rigidbody 2D tidak membuat kontak baru, dan kontak Collider 2D terpasang
  • Yang terpasang Bersama 2D tidak disimulasikan, dan tidak membatasi kaku yang terpasang 2D
  • Semua objek fisika internal untuk Rigidbody 2D, Collider 2D dan Joint 2D tersisa dalam memori

Mengapa tidak memeriksa Simulasi lebih efisien daripada kontrol komponen individu?

Dalam simulasi fisika 2D, komponen Rigidbody 2D mengontrol posisi dan rotasi komponen Collider 2D terpasang, dan memungkinkan komponen Joint 2D untuk menggunakan posisi dan rotasi ini sebagai titik jangkar. 2D kolider bergerak ketika kaku 2D melekat untuk bergerak. Collider 2D kemudian menghitung kontak dengan Collider 2Ds lainnya yang melekat pada 2D kaku lainnya. Joint 2Ds juga melatih posisi dan rotasi 2D. Semua ini membutuhkan waktu simulasi.

Anda dapat menghentikan dan memulai elemen individu dari simulasi fisika 2D dengan mengaktifkan dan menonaktifkan komponen secara individual. Anda dapat melakukan ini pada komponen Collider 2D dan Joint 2D. Namun, memungkinkan dan menonaktifkan elemen individu simulasi fisika memiliki penggunaan memori dan biaya daya prosesor. Ketika elemen simulasi dinonaktifkan, mesin fisika 2D tidak menghasilkan benda berbasis fisika internal untuk mensimulasikan. Ketika elemen simulasi diaktifkan, mesin fisika 2D tidak memiliki objek berbasis fisika internal untuk mensimulasikan. Mengaktifkan dan menonaktifkan komponen simulasi fisika 2D berarti GameObjects internal dan komponen berbasis fisika harus dibuat dan hancur; menonaktifkan simulasi lebih mudah dan lebih efisien daripada menonaktifkan komponen individu.

CATATAN: Ketika opsi Simulated 2D kaku tidak dicentang, setiap 2D yang terpasang secara efektif 'tidak terlihat', yaitu; tidak dapat terdeteksi oleh pertanyaan fisika, seperti Fisika.Raycast.

Gunakan Kontak Kinematik Penuh

Aktifkan pengaturan ini (periksa kotak centang) jika Anda ingin kaku 2D Kinematic untuk tabrakan dengan semua tipe tubuh 2D kaku. Ini mirip dengan Dynamic Rigidbody 2D, kecuali Kinematic Rigidbody 2D tidak dipindahkan oleh mesin fisika ketika menghubungi orang lain 2D; itu bertindak sebagai objek yang tidak bergerak, dengan massa tak terbatas.

Ketika pengaturan ini dinonaktifkan (tidak diperiksa), seorang Kinematic Rigidbody 2D hanya bekerja sama dengan Dynamic Rigidbody 2Ds; itu tidak tabrakan dengan Kinematic Rigidbody 2Ds lain atau Static Rigidbody 2Ds (note that memicu collider adalah pengecualian untuk aturan ini). Ini berarti bahwa tidak ada panggilan skrip tabrakan (OnCollisionEnter, OnCollisionStay, OnCollisionExit) terjadi.

Ini bisa tidak nyaman ketika Anda menggunakan kueri fisika (seperti Fisika.Raycast) untuk mendeteksi di mana dan bagaimana 2D kaku harus bergerak, dan ketika Anda memerlukan beberapa Kinematic Rigidbody 2Ds untuk berinteraksi satu sama lain. Aktifkan Use Full Kinematic Contacts untuk membuat komponen Kinematic Rigidbody 2D berinteraksi dengan cara ini.

Use Full Kinematic Contacts memungkinkan posisi eksplisit dan kontrol rotasi Kinematic Rigidbody 2D, tetapi masih memungkinkan panggilan tabrakan penuh. Dalam set-up di mana Anda perlu kontrol eksplisit dari semua kaku 2Ds, gunakan Kinematic Rigidbody 2Ds di tempat Dynamic Rigidbody 2Ds untuk masih memiliki dukungan callback tabrakan penuh.

Referensi Fisika 2D
Catalog 2D