Giriş ve Çıkış
Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 19 / 63.
Bir tetikleyici iki mesaj daha gönderir. OnTriggerExit(Collider other), çakışma nasıl sona ererse ersin, çakışmanın sona erdiği fizik adımında bir kez çalışır. OnTriggerStay(Collider other), çakışma sürdüğü müddetçe her fizik adımında, varsayılan olarak saniyede 50 kez, FixedUpdate() gibi çalışır. Üçü de aynı Collider değerini alır.
Bu yükselen hava akımı, içinde yüzen her şeyi yukarı kaldırır ve çıktığında bunu bildirir:
public float lift = 15f;
void OnTriggerStay(Collider other)
{
other.attachedRigidbody.AddForce(Vector3.up * lift);
}
void OnTriggerExit(Collider other)
{
Debug.Log(other.name + " left the updraft");
}Bir kuvvet fizik adımında uygulanmalıdır, bu nedenle OnTriggerStay bu iş için uygundur: top içeride kaldığı sürece itme her adımda bir kez uygulanır ve top çıktığı anda durur. Yükselen hava akımının Rigidbody bileşeni yoktur, bu nedenle her ziyaretçinin bir Rigidbody bileşeni olmalıdır ve burada attachedRigidbody hiçbir zaman null olmaz. OnTriggerStay içinde saniye başına bir miktar uygulamak için Time.deltaTime ile çarp; bu değer bir fizik adımında adımın uzunluğudur: 0.02. Her ziyaret, aynı çarpıştırıcı için bir OnTriggerEnter ve daha sonra bir OnTriggerExit çağrısı oluşturur.
Görev
KolayDepo zeminine boyanmış sarı Bay bir tetikleyicidir ve lamp yanındaki direkte bulunan uyarı ışığıdır. Işığın bölmede herhangi bir şey olup olmadığını göstermesi için LoadingBay yaz:
- Oyun başladığında bölme boştur, bu nedenle ışık kapalıdır (
lamp.enabled = false). - Bölmede en az bir nesne bulunduğu sürece ışık yanar.
- Son nesne ayrıldığında ışık tekrar söner.
İki kasa ve oyuncu aynı anda bölmede bulunabilir; bu yüzden birinin ayrılması bölmenin boş olduğu anlamına gelmez. Play'e bas ve ok tuşlarıyla kasaları içeri ve dışarı it, ardından Check'e bas.
Kendin dene
using UnityEngine;
public class LoadingBay : MonoBehaviour
{
public Light lamp;
// Bölmede herhangi bir şey varken lamba yanar; bölme boşken söner
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fizik ve Oynanış bölümündeki tüm dersler
1Rigidbody
Yerçekimi ve KütleAddForce ile İtmeDürtüyle ZıplamaFizik için FixedUpdateHızKinematik CisimlerTekrar: Fırlatma Rampası2Çarpışmalar
OnCollisionEnterNeye Çarptım?Çarpınca KırılYerde DurmakSekme ve SürtünmeCollider ŞekilleriTekrar: Kırılabilir Duvar