Menu
CoddyTech

Yerel ve Dünya Uzayı

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 19 / 67.

Bir nesnenin, dünyanın yönlerinin yanı sıra kendine ait yönleri de vardır. transform.forward, nesnenin burnunun baktığı yönü (Unity'nin Scene görünümündeki mavi ok) gösterir ve bir birim uzunluğunda dünya vektörü olarak verilir; transform.right ve transform.up ise nesnenin kendi sağı ve yukarısıdır. Nesneyi döndürdüğünüzde bunlar da onunla birlikte döner. Bu kâğıt uçak, sahnede y ekseni etrafında 90 derece döndürülmüştür; bu yüzden baktığı yönde, dünyanın x ekseni boyunca uçar:

public float speed = 4f;

void Update()
{
    transform.position += transform.forward * speed * Time.deltaTime;
}

transform.Translate(Vector3.forward * speed * Time.deltaTime) aynı şeyi yapar, çünkü Translate vektörü nesnenin kendi uzayında okur: orada Vector3.forward, nesnenin ileri yönü anlamına gelir. İkinci argüman olarak Space.World değerini ilettiğinizde bunun yerine dünyanın eksenlerini kullanır; dolayısıyla transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World), uçak hangi yöne bakarsa baksın onu dünyanın z ekseni boyunca hareket ettirir.

transform.Rotate da nesnenin kendi eksenleri etrafında döndürür. Yukarıdan bakıldığında, y ekseni etrafındaki pozitif bir açı dik duran nesneyi sağına, negatif bir açı ise soluna döndürür ve nesnenin transform.forward yönü de onunla birlikte döner.

challenge icon

Görev

Kolay

Tanka tank kontrolleri ver: sağ ok onu sağa, sol ok ise y ekseni etrafında saniyede turn derece sola döndürür. Yukarı ok, baktığı yönde saniyede speed birim ileri gitmesini sağlar. Yalnızca dönmek onu hareket ettirmez.

Play düğmesine bas, dön ve ilerle, ardından Check düğmesine bas.

Kendin dene

using UnityEngine;

public class Tank : MonoBehaviour
{
    public float speed = 3f;
    public float turn = 90f;

    void Update()
    {
        // Sağ/sol ok tuşları: y ekseni etrafında dön. Yukarı ok tuşu: tankın baktığı yöne ilerle.
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler