Unity 3D – Rigidbody ile Nesne Hareketi
Aşağıdaki kodları uygulamadan önce nesnenizde Rigidbody componentinin eklendiğinden emin olunuz. Aksi halde kodlar çalışmayacaktır. Bu kodlar için örnek bir script oluşturun ve adını “Move” koyabilirsiniz. Oluşturulan scripti GameObject’in (Oyun nesnesinin) üzerine eklemeyi de unutmayın 🙂
public float speed = 10f; // Hareket hızı
Rigidbody rb; // Rigidbody referansı
float vertical; // Dikey hareket girdisi
float horizontal; // Yatay hareket girdisi
void Start()
{
rb = GetComponent<Rigidbody>(); // Rigidbody'yi başlat
}
void Update()
{
// Girdileri al
horizontal = Input.GetAxis("Horizontal");
vertical = Input.GetAxis("Vertical");
}
void FixedUpdate()
{
// Mevcut y ekseni hızını koru
float currentYVelocity = rb.velocity.y;
// Hareket yönünü sadece x ve z ekseni için ayarla
Vector3 movement = new Vector3(horizontal, 0, vertical) * speed;
// Rigidbody velocity'sini ayarlarken y ekseni değerini koru
rb.velocity = new Vector3(movement.x, currentYVelocity, movement.z);
}