Hız
Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 5 / 63.
rb.linearVelocity, cismin şu anda nasıl hareket ettiğini gösterir: x, y ve z boyunca saniyede metre cinsinden bir Vector3. Bunu okumak cismin hangi yöne gittiğini söyler; rb.linearVelocity.magnitude ise hızıdır. Bunu ayarlamak, ivmelenme olmadan ve kütle hesaba katılmadan hareketi hemen değiştirir: 2 m/s hızına ayarlanan 1 kg'lık bir kutu ile 50 kg'lık bir kasa, sonraki fizik adımından itibaren tam olarak 2 m/s hızla hareket eder. Yer çekimi, sürtünme ve çarpışmalar sonrasında da cisme etki etmeye devam eder.
Bu go-kart tam olarak cruise m/s hızla ileri gider. Hızı kopyalar, yalnızca z değerini değiştirip geri atar; böylece yer çekiminin verdiği y değeri korunur ve kart rampanın sonundan düşmeye devam eder:
void FixedUpdate()
{
Vector3 vel = rb.linearVelocity;
vel.z = cruise; // tam olarak cruise m/s hızla ileri
rb.linearVelocity = vel; // y, yerçekiminin verdiği değeri korur
}y değerini de 0'a ayarlamak, her adımda yer çekiminin kazandırdığı hızı silerdi ve kart düşmek yerine rampadan aşağı doğru süzülürdü. Unity 6'dan önce bu özelliğin adı velocity idi. Eski eğitimlerde hâlâ rb.velocity yazıldığını görebilirsin: Unity 6'da derlenir, ancak velocity özelliğinin kullanımdan kaldırıldığı ve adının linearVelocity olarak değiştirildiği uyarısını verir. drag de aynı şekilde linearDamping oldu. Yeni adları kullan.
Görev
KolayRobot yükseltilmiş bir platformda yürüyor. Ok tuşlarıyla onu tam olarak speed m/s hızında yürütün (Inspector'da 3): x ekseninde sağa ve sola, z ekseninde ileri ve geri; yumuşatma olmaması için ham eksenleri kullanın.
- Hiçbir ok tuşuna basılmadığında hemen hareketsiz kalır.
- Yer çekimi etkisini sürdürür: kenardan yürüyüp düşen robot, aşağıdaki zemine düşer.
Play'e basın ve robotu kenardan yürütün, ardından Check'e basın.
Kendin dene
using UnityEngine;
public class RobotWalk : MonoBehaviour
{
public float speed = 3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// Ok tuşlarıyla tam olarak speed hızında yürü, yerçekiminin y değerini koru
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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 Duvar