OnTriggerEnter
Termasuk bagian Fisika dan Gameplay dalam perjalanan Unity di Coddy. Pelajaran 16 dari 63.
void OnTriggerEnter(Collider other) dijalankan satu kali pada langkah fisika saat collider lain mulai bertumpang tindih dengan sebuah trigger. other adalah collider tersebut, jadi other.name, other.gameObject, dan other.CompareTag("Player") memberi tahu kamu objek apa yang masuk. Unity memanggilnya pada script kedua objek: pada trigger, other adalah objek yang datang, dan pada objek yang datang, other adalah trigger.
Garis finis ini bereaksi terhadap pemain saja, jadi bola yang menggelinding melewatinya tidak mencatat apa pun:
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Debug.Log(other.name + " crossed the finish line");
}
}Parameternya harus berupa Collider. Jika ditulis sebagai void OnTriggerEnter(Collision collision), script tetap berhasil dikompilasi karena bagi C# itu adalah method biasa. Unity memeriksa parameternya, mencatat Script error: OnTriggerEnter yang menyatakan This message parameter has to be of type: Collider, lalu tidak pernah memanggil method tersebut. Collision digunakan oleh OnCollisionEnter, saat dua benda padat bertemu pada titik kontak. Trigger tidak memiliki kontak untuk dilaporkan, hanya collider, jadi tipenya adalah Collider.
Tantangan
MudahKendaraan melaju melewati Gerbang tol, sebuah pemicu. Skrip Driver menggerakkan kendaraan dan sudah selesai. Tulis skrip TollGate untuk gerbang:
- Setiap kendaraan yang diberi tag
Carmembayartoll(3): tambahkan nilainya kecollecteddan catat totalnya,Toll: 3untuk mobil pertama, laluToll: 6. - Yang lainnya, seperti Pesepeda, lewat tanpa membayar dan tidak mencatat apa pun.
Tekan Putar terlebih dahulu: Console sudah menampilkan error skrip tentang method yang tertulis saat ini. Perbaiki, lalu tekan Periksa.
Coba sendiri
using UnityEngine;
public class TollGate : MonoBehaviour
{
public int toll = 3;
int collected;
void OnTriggerEnter(Collision collision)
{
// Mobil membayar tol; yang lain lewat tanpa membayar
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Fisika dan Gameplay
1Rigidbody
Gravitasi dan MassaDorong dengan AddForceMelompat dengan ImpulsFixedUpdate untuk FisikaKecepatanBenda KinematikRingkasan: Landasan Peluncur2Tabrakan
OnCollisionEnterApa yang Kutabrak?Pecah Saat BenturanBerdiri di Atas TanahPantulan dan GesekanBentuk ColliderRangkuman: Dinding yang Bisa Hancur