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);
    }

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

error: Content is protected !!