Ruang Lokal dan Dunia
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 26 dari 85.
Sebuah object memiliki arah sendiri selain arah dunia. transform.forward menunjukkan arah hidung object (panah biru di tampilan Scene Unity), dalam bentuk vektor dunia dengan panjang satu unit; transform.right dan transform.up adalah arah kanan dan atasnya sendiri. Putar object, dan arah-arah itu ikut berputar. Pesawat kertas ini diputar 90 derajat pada sumbu y di scene, jadi ia terbang sepanjang sumbu x dunia, sesuai arah yang ditunjuknya:
public float speed = 4f;
void Update()
{
transform.position += transform.forward * speed * Time.deltaTime;
}transform.Translate(Vector3.forward * speed * Time.deltaTime) melakukan hal yang sama, karena Translate membaca vektornya dalam ruang object sendiri: di sana, Vector3.forward berarti arah depan object. Berikan Space.World sebagai argumen kedua, maka ia menggunakan sumbu dunia, jadi transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World) bergerak sepanjang sumbu z dunia ke arah mana pun pesawat menunjuk.
transform.Rotate juga memutar object pada sumbunya sendiri. Dilihat dari atas, sudut positif pada sumbu y memutar object yang tegak ke kanan, sedangkan sudut negatif memutarnya ke kiri, dan transform.forward-nya ikut berputar.
Tantangan
MudahBeri tank kendali seperti tank: berputar di tempat, lalu melaju ke arah yang dihadapinya.
- Di dalam
Update(), saat tombol panah kanan ditekan, gunakantransform.Rotate(0, turn * Time.deltaTime, 0);, dan gunakan-turnuntuk tombol panah kiri. - Saat tombol panah atas ditekan, gunakan
transform.Translate(Vector3.forward * speed * Time.deltaTime);.
Tekan tombol “Main”, berputar dan melajulah: tank bergerak ke arah moncongnya menghadap. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class Tank : MonoBehaviour
{
public float speed = 3f;
public float turn = 90f;
void Update()
{
// Tombol panah kanan/kiri: putar tank pada sumbu y. Tombol panah atas: gerakkan tank ke arah hadapnya.
}
}
Semua pelajaran di Dasar-Dasar Scripting Unity
1Dasar-Dasar C# di Unity
Halo, UnityVariabelDesimal Memerlukan fTeks di ConsoleVariabel yang Menyimpan NilaiIf dan ElseBandingkan AngkaUlasan: Pengumpul Koin7Perulangan dan method
Ulangi dengan forPerulangan di dalam perulanganTulis methodMethod yang Mengembalikan NilaiarrayUlasan: Tangga10Menemukan Benda
Cari Berdasarkan NamaTagCari Berdasarkan TipeReferensi Lebih Baik daripada FindNull di UnityRangkuman: Koin Terdekat13Proyek: Hindari Balok
Karakter PelariBalok dari Langit2Buat Bergerak
Tempatkan KubusBergerak Setiap FrameBerputar Setiap DetikKemudikan dengan TombolRangkuman: Kemudikan Kubus5Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak AntarobjekVector3 adalah StructRangkuman: Pilot Drone8GameObjects dan Komponen
Referensi di InspectorAmbil KomponenKomponen yang HilangTambahkan KomponenRequireComponentTampilkan dan SembunyikanRingkasan: Sakelar Lampu6Transformasi dan Hierarki
Objek Induk dan AnakKibarkan BenderaSkalaMelihat BendaBergerak Menuju TitikRekap: Bulan yang MengorbitLatihan sendiri: Playground Unity