Menu
CoddyTech

Nesnelere Bakış

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

transform.LookAt(point) bir nesneyi, ileri ekseni olan mavi z oku dünyadaki bir konumu gösterecek şekilde döndürür. Nesneyi döndürür, hareket ettirmez. Bu projektör (0, 6, 0) konumundaki bir kulede duruyor ve (4, 0, 10) konumundaki kapıya yöneliyor:

void Start()
{
    transform.LookAt(new Vector3(4, 0, 10));
}

Kapı ışıktan daha aşağıda, bu yüzden projektör aşağı doğru da eğilerek dönüyor: LookAt, yukarı veya aşağı olması fark etmeksizin doğrudan noktaya yönelir. Sonrasında transform.forward ışıktan kapıya doğru yönelir.

Start() içinde çağrıldığında LookAt bir kez yönelir. Update() içinde çağrıldığında ise her karede yeniden yönelir; böylece nesne veya nokta hareket ederken nesne noktaya dönük kalır. Argümanı her zaman bir konumdur: LookAt(Vector3.forward), nesnenin bulunduğu yer neresi olursa olsun, dünyanın merkezinin yanındaki bir nokta olan dünya koordinatlarındaki (0, 0, 1) noktasına yönelir.

challenge icon

Görev

Orta

Gezgin araç zaten ok tuşlarıyla dünyanın x ve z eksenleri boyunca hareket ediyor. Hareket ettiği yöne bakmasını sağla: hareket ederken önü (ileri ekseni), çapraz yönler de dâhil olmak üzere, hareket yönünü göstersin. Hiçbir tuşa basılmadığında durur ve en son hareket ettiği yöne bakmaya devam eder.

Play'e bas, etrafta dolaş, ardından Check'e bas.

Kendin dene

using UnityEngine;

public class Rover : MonoBehaviour
{
    public float speed = 3f;

    void Update()
    {
        Vector3 move = Vector3.zero;
        if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
        if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
        if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
        if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
        move = move.normalized;
        transform.position += move * speed * Time.deltaTime;
        // Gezgini hareket ettiği yöne döndür
    }
}
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