Menu
CoddyTech

Melihat Benda

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 34 dari 85.

transform.LookAt(point) memutar objek sehingga sumbu depannya, panah z berwarna biru, mengarah ke suatu posisi di dunia. Fungsi ini memutar objek dan tidak memindahkannya. Lampu sorot ini berada di atas menara pada (0, 6, 0) dan diarahkan ke gerbang pada (4, 0, 10):

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

Gerbang berada lebih rendah daripada lampu, jadi lampu sorot juga menunduk saat berputar: LookAt mengarahkan objek tepat ke titik tersebut, termasuk ke arah atas atau bawah. Setelah itu, transform.forward mengarah dari lampu ke gerbang.

Jika dipanggil di Start(), LookAt mengarahkan objek satu kali. Jika dipanggil di Update(), fungsi ini mengarahkan objek lagi pada setiap frame, sehingga objek terus menghadap ke titik tersebut saat objek atau titik itu bergerak. Argumennya selalu berupa posisi: LookAt(Vector3.forward) mengarahkan objek ke titik dunia (0, 0, 1), sebuah titik di dekat pusat dunia, di mana pun objek berada.

challenge icon

Tantangan

Sedang

Buat rover menghadap ke arah geraknya.

  1. Di bawah komentar dalam Update(), tulis if (move != Vector3.zero), agar rover yang diam tetap menghadap ke arah yang sama.
  2. Di dalamnya, panggil transform.LookAt(transform.position + move);.

Tekan tombol “Main” lalu kemudikan rover: bagian depannya berputar menghadap ke arah geraknya. Lalu tekan tombol “Periksa”.

Coba sendiri

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;
        // Putar rover agar menghadap ke arah geraknya
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity