Menu
CoddyTech

Menjumlahkan Vektor

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

Sebuah Vector3 dapat disimpan dalam variabel, dan dua Vector3 dapat dijumlahkan dengan +: x dijumlahkan dengan x, y dengan y, dan z dengan z. Begitulah dua dorongan bergabung menjadi satu gerakan. Bola pantai ini menggelinding maju 2 unit per detik sementara angin mendorongnya 1 unit per detik ke kanan:

Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);

void Update()
{
    Vector3 move = roll + wind;   // (1, 0, 2)
    transform.position += move * Time.deltaTime;
}

Mengalikan vektor dengan angka akan mengalikan setiap bagiannya: wind * 3 menghasilkan (3, 0, 0), yaitu badai, dan move * Time.deltaTime mengubah gerakan per detik menjadi gerakan untuk frame ini. Pengurangan juga bekerja pada setiap bagian, dan a - b adalah langkah dari titik b menuju titik a. Tidak ada * di antara dua vektor: roll * wind tidak dapat di-compile.

challenge icon

Tantangan

Mudah

Sungai membawa perahu, dan panah atas menambahkan tenaga motornya.

  1. Di dalam Update(), mulai dengan Vector3 move = current;.
  2. Selama Input.GetKey(KeyCode.UpArrow) bernilai true, tambahkan motor ke move dengan +=.
  3. Tambahkan move * Time.deltaTime ke transform.position.

Tekan tombol “Main”: perahu melayang ke kanan dan menyeberangi sungai selama kamu menahan panah atas. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Boat : MonoBehaviour
{
    public Vector3 current = new Vector3(0, 0, 0);
    public Vector3 motor = new Vector3(0, 0, 0);

    void Update()
    {
        // Arus selalu membawa perahu.
        // Saat tombol panah atas ditekan, motor juga mendorong perahu.
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity