Dürtüyle Zıplama
Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 3 / 71.
AddForce ikinci bir argüman alır: vektörün nasıl kullanılacağını belirten bir ForceMode. Bu argümanı belirtmezsen ForceMode.Force kullanılır; bu, bir fizik adımı boyunca süren bir itmedir, bu yüzden adım adım eklenmesi gerekir. Bir tekme, sıçrama ya da patlama tek seferde gerçekleşir; bu da ForceMode.Impulse modudur: tüm itme bir kerede uygulanır ve hız, darbenin kütleye bölünmesi kadar değişir.
Bu futbol topuna (0.5 kg) tıklandığında tekme atılır. Bir sonraki fizik adımında hızı (0, 2, 6) / 0.5 = (0, 4, 12) m/s kadar artar; sonrasında yer çekimi ve çim devreye girer:
void Update()
{
if (Input.GetMouseButtonDown(0))
{
rb.AddForce(new Vector3(0, 2, 6), ForceMode.Impulse);
}
}Tek seferlik bir itme, tıklamanın gerçekleştiği karede Update() içinden çağrılabilir: Unity bunu saklar ve bir sonraki fizik adımında uygular. Dört mod iki açıdan farklılık gösterir: itme tek seferde mi yoksa bir adım boyunca mı uygulanır ve kütle hesaba katılır mı:
Force: bir adım boyunca uygulanır, kütleye bölünür (motorlar, rüzgâr).Acceleration: bir adım boyunca uygulanır, kütle hesaba katılmaz.Impulse: tek seferde uygulanır, kütleye bölünür (tekme, sıçrama).VelocityChange: tek seferde uygulanır, kütle hesaba katılmaz: vektör doğrudan hıza eklenir.
Görev
KolayBoşluk tuşuna her basışta kurbağanın bir kez zıplamasını sağla.
- Yorum satırının altına
if (Input.GetKeyDown(KeyCode.Space))yaz. - İçinde
rb.AddForce(Vector3.up * jumpImpulse, ForceMode.Impulse);çağrısını yap; böylece kurbağanın 2 kg ağırlığı hesaba katılır.
“Oyna” düğmesine bas ve Boşluk tuşuna bas: kurbağa yukarı zıplar ve geri düşer. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class FrogJump : MonoBehaviour
{
public float jumpImpulse = 10f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
// Space: jumpImpulse kadar tek bir yukarı yönlü itiş
}
}
Fizik ve Oynanış bölümündeki tüm dersler
1Rigidbody
Yerçekimi ve KütleAddForce ile İtmeDürtüyle ZıplamaFizik için FixedUpdateHızKinematik CisimlerTekrar: Fırlatma Rampası2Çarpışmalar
OnCollisionEnterNeye Çarptım?Çarpınca KırılYerde DurmakSekme ve SürtünmeCollider ŞekilleriTekrar: Kırılabilir DuvarKendi başına pratik yap: Unity playground