Gravitasi dan Massa
Termasuk bagian Fisika dan Gameplay dalam perjalanan Unity di Coddy. Pelajaran 1 dari 63.
Rigidbody menyerahkan object-nya kepada sistem fisika Unity, seperti yang terlihat saat kelapa itu jatuh. Sejak saat itu, gravitasi mempercepat object sebesar 9.81 m/s setiap detik, dan Rigidbody memiliki pengaturan yang menentukan caranya. Dua di antaranya adalah mass, dalam kilogram (1 untuk Rigidbody baru), dan useGravity (aktif untuk Rigidbody baru).
Mass tidak mengubah kecepatan benda jatuh. Gravitasi menarik benda yang berat dengan gaya lebih besar, dan benda berat lebih sulit dipercepat dengan jumlah yang persis sama, jadi peti seberat 1 kg dan landasan seberat 50 kg yang dijatuhkan dari ketinggian sama mendarat pada frame yang sama. Mass berpengaruh saat benda saling mendorong: landasan mendorong peti ke samping, sedangkan peti hampir tidak menggerakkan landasan. Balon pesta ini memiliki mass ringan dan tidak terpengaruh gravitasi, jadi balon tetap menggantung di tempat yang ditentukan oleh scene:
void Start()
{
Rigidbody rb = GetComponent<Rigidbody>();
rb.mass = 0.2f;
rb.useGravity = false;
}Saat useGravity nonaktif, balon tetap memiliki mass dan tetap bergerak saat terbentur sesuatu: hanya tarikan gravitasi yang berhenti. Atur kembali ke true agar gravitasi kembali menariknya dari posisi object saat itu. Fisika Unity juga tidak memiliki udara, jadi bulu jatuh seperti batu bata kecuali kamu memberi Rigidbody-nya Linear Damping.
Tantangan
MudahDerek menahan dua peti di atas dermaga: Safe yang berat dan Box yang ringan. Keduanya memiliki Rigidbody dan skrip CraneLoad yang weight-nya diatur melalui Inspector (80 pada Safe, 2 pada Box).
- Saat game dimulai, atur massa Rigidbody ke
weightdan hentikan tarikan gravitasi, agar peti tetap tergantung di tempatnya. - Saat Space ditekan, biarkan gravitasi menariknya kembali agar peti jatuh.
Tekan Play, tekan Space dan amati peti mana yang mendarat lebih dulu, lalu tekan Periksa.
Coba sendiri
using UnityEngine;
public class CraneLoad : MonoBehaviour
{
public float weight = 1f;
void Start()
{
// Atur massa ke nilai weight dan hentikan tarikan gravitasi
}
void Update()
{
// Space: biarkan gravitasi menarik lagi
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Fisika dan Gameplay
1Rigidbody
Gravitasi dan MassaDorong dengan AddForceMelompat dengan ImpulsFixedUpdate untuk FisikaKecepatanBenda KinematikRingkasan: Landasan Peluncur2Tabrakan
OnCollisionEnterApa yang Kutabrak?Pecah Saat BenturanBerdiri di Atas TanahPantulan dan GesekanBentuk ColliderRangkuman: Dinding yang Bisa Hancur