Menu
CoddyTech

Kecepatan Diagonal

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 20 dari 67.

Tahan panah kanan dan atas secara bersamaan, maka sumbu mentah memberikan arah (1, 0, 1). Panjangnya, .magnitude, adalah akar kuadrat dari 1 + 1, sekitar 1.41. Karakter yang bergerak dengan vektor ini menempuh 1.41 unit secara diagonal dalam waktu yang sama dengan waktu untuk menempuh 1 unit lurus ke depan: 41% lebih cepat.

.normalized memberikan salinan vektor yang menunjuk ke arah yang sama dan panjangnya tepat 1 unit: (1, 0, 1) menjadi sekitar (0.71, 0, 0.71), dan (0, 0, 5) menjadi (0, 0, 1). Dikalikan dengan kecepatan, vektor ini membuatnya bergerak dengan kecepatan tersebut ke arah mana pun. Lebah ini terbang menuju bunga dengan kecepatan 2 unit per detik, baik bunganya jauh maupun dekat. Tanpa .normalized, lebah akan terbang semakin cepat saat bunga semakin jauh:

public Vector3 flower = new Vector3(4, 1, 3);
public float speed = 2f;

void Update()
{
    Vector3 toFlower = flower - transform.position;
    transform.position += toFlower.normalized * speed * Time.deltaTime;
}

Vector3.zero.normalized tetap (0, 0, 0), karena nol tidak memiliki arah. v.normalized membiarkan v tetap seperti semula; v.Normalize() mengubah v itu sendiri.

challenge icon

Tantangan

Mudah

Tulis pergerakan walker. Tombol panah (atau WASD), yang dibaca menggunakan sumbu mentah, menggerakkannya ke kiri dan kanan sepanjang sumbu x, serta ke atas dan bawah sepanjang sumbu z. Walker bergerak dengan kecepatan speed unit per detik ke segala arah, termasuk diagonal, langsung mulai dan berhenti, serta tetap diam saat tidak ada tombol yang ditekan.

Tekan Mainkan, berjalanlah lurus dan secara diagonal, lalu tekan Periksa.

Coba sendiri

using UnityEngine;

public class Walker : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // Tombol panah atau WASD: bergerak sepanjang sumbu x dan z dengan kecepatan yang sama, termasuk saat bergerak diagonal.
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Scripting Unity