Referensi di Inspector
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 43 dari 85.
Sebuah field dapat menyimpan object lain. Beri field itu tipe seperti Transform atau GameObject, lalu Inspector menampilkan slot kosong yang bisa kamu isi dengan menyeret object dari Hierarchy ke slot tersebut. Script kamera ini mengikuti object yang diseret ke player, dengan posisi tetap 3 unit di atasnya dan 6 unit di belakangnya:
public Transform player;
void Update()
{
transform.position = player.position + new Vector3(0, 3, -6);
}Slot yang dibiarkan kosong menampilkan None, dan baris pertama yang menggunakannya akan memunculkan error di setiap frame: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. Baris berikutnya pada pesan itu menjelaskan tindakan yang perlu dilakukan: You probably need to assign the player variable of the CameraFollow script in the inspector. Pesan itu menyebutkan field dan script-nya, jadi kamu tahu slot mana yang harus diisi.
Beberapa script sebaiknya tetap berfungsi meskipun slotnya kosong. Unity membuat slot kosong dianggap sama dengan null, jadi script seperti itu memeriksanya sebelum digunakan. Dengan if (player != null) di sekitar baris dalam Update(), kamera tanpa player akan tetap berada di tempatnya dan tidak memunculkan error.
Tantangan
SedangKirim setiap guard ke pos yang ditentukan Inspector untuknya.
- Tambahkan field
public Transform post;. Slot Guard1 berisi Post1, sedangkan slot Guard2 kosong. - Di
Update(), jikapost == null, jalankanreturn;agar guard tanpa pos tetap di tempat. - Lalu gerakkan dengan
Vector3.MoveTowards(transform.position, post.position, speed * Time.deltaTime).
Tekan tombol “Main”: Guard1 berjalan ke posnya dan Guard2 menunggu. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class Guard : MonoBehaviour
{
// post: Transform yang dituju penjaga ini, atur di Inspector
public float speed = 2f;
void Update()
{
// Berjalanlah menuju post dengan kecepatan speed. Penjaga dengan slot post kosong tetap di tempat.
}
}
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