RigidBody3D
- Oyun Geliştirme kursu
- Orta seviye
- Ders 65/83
- 4 dk
RigidBody3D ile fizik tabanlı hareketi öğrenirsin.
RigidBody3D ile Fizik Simülasyonu
Godot 3D'de yer çekimi, kütle ve çarpışma gibi fizik kurallarına tabi nesneler için RigidBody3D düğümü kullanılır. Bu düğümün hareketi doğrudan kodla değil, fizik motoru tarafından hesaplanır. Çarpışmaları algılayabilmesi için altında bir CollisionShape3D düğümü bulunmalıdır.
RigidBody3D govde = new RigidBody3D();
govde.Mass = 5.0f;Kütle ve İtme Kuvveti
RigidBody3D düğümünün Mass özelliği nesnenin kilogram cinsinden ağırlığını belirler. Nesneyi fiziksel olarak fırlatmak veya itmek için doğrudan koordinat değiştirmek yerine ApplyCentralImpulse() metodu ile kuvvet uygulanır.
// Nesneyi anlık fiziksel darbeyle iter:
// govde.ApplyCentralImpulse(new Vector3(0, 10, 0));Uygulama Fizik Kütlesini Yapılandır
body.Mass değerine 5.0f ata ve GD.Print("Kutle: " + body.Mass); ile yazdır.
Başlangıç kodu
using System;
public class RigidBody3D
{
public float Mass { get; set; } = 1.0f;
public bool Freeze { get; set; } = false;
}
public static class GD
{
public static void Print(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
RigidBody3D body = new RigidBody3D();
// Kutle degerini 5.0f yap ve ekrana yazdir
}
}Örnek çözüm
using System;
public class RigidBody3D
{
public float Mass { get; set; } = 1.0f;
public bool Freeze { get; set; } = false;
}
public static class GD
{
public static void Print(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
RigidBody3D body = new RigidBody3D();
body.Mass = 5.0f;
GD.Print("Kutle: " + body.Mass);
}
}Beklenen çıktı
Kutle: 5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Godot 3D'de bir RigidBody3D düğümünün diğer nesnelerle fiziksel çarpışma yapabilmesi için hangi alt düğüme sahip olması zorunludur?
- CollisionShape3D Doğru cevap
- Camera3D
- DirectionalLight3D
- MeshInstance3D
Açıklama: Fizik motorunun nesnenin çarpışma sınırlarını hesaplayabilmesi için bir CollisionShape3D düğümü gereklidir.
2 Kütle Değerini Ata
body.____ = 10.0f;
body.Mass = 10.0f;
Açıklama: RigidBody3D nesnesinin kütlesini belirlemek için Mass özelliği kullanılır.
3 Godot Fizik Terimleri
| Kavram | Anlamı |
|---|---|
RigidBody3D |
Fizikle hareket eden dinamik 3D düğüm |
CollisionShape3D |
Çarpışma geometrisini belirten düğüm |
Mass |
Nesnenin fiziksel kütle değeri |
ApplyCentralImpulse |
Nesne merkezine anlık darbe uygulama |