Unity3D: programmare in C# – le funzioni OnTrigger

In Unity, i trigger sono una versione speciale di Collider. Questi servono alla creazione di oggetti non tangibili, di cui però si vogliono comunque rilevare le collisioni. È il caso ad esempio di un gioco d’avventura (o piattaforme), in cui di solito si usano dei cubi invisibili per creare delle “aree interruttore” (trigger, appunto) in cui appena il personaggio vi entra, succede qualcosa (si chiude la porta dietro di lui, inizia una sfida, ecc.).

Per creare trigger, è necessario spuntare la casella Is Trigger nell’Inspector di un qualunque collider. Così facendo l’oggetto potrà compenetrare altri collider e non li spingerà via.

In più, i trigger non emettono i tre eventi OnCollisionEnter, OnCollisionExit, OnCollisionStay, ma una versione speciale chiamata OnTriggerEnter, OnTriggerExit, OnTriggerStay. Le funzioni OnTrigger sono molto simili a quelle OnCollision, ma posseggono un parametro che non è di tipo Collision ma Collider (ovvero il collider che ha toccato l’oggetto). Per questo motivo contengono meno informazioni, ma sono anche più leggere da calcolare delle controparti OnCollision.

Ad esempio:

private void OnTriggerEnter(Collider otherCollider)
{
	if(otherCollider.gameObject.tag == "Player")
	{
		GameManager.Instance.CloseTheDoor();
	}
}

In questo esempio, usiamo OnTriggerEnter per rilevare quando il giocatore entra in una stanza. Poiché il trigger potrebbe scattare anche nel caso in cui un nemico o un proiettile passi la porta, nella funzione leggiamo la proprietà otherCollider.gameObject.tag dell’altro oggetto per chiamare CloseDoor solo se è il giocatore ad entrare.

Così come per i collider normali, le funzioni OnTrigger effettuano queste azioni solo se almeno uno dei due oggetti coinvolti nello scontro possiede un Rigidbody ‘non kinematic’ (che vedremo nella prossima lezione sui Rigidbody).

Per approfondire l’argomento, qui troverete un tutorial molto interessante creato sul sito ufficiale di Unity.


I nostri corsi : https://itamde.com/it/corsi-online-digitali/

▼ SEGUICI SU ▼
» Facebook: https://www.facebook.com/itamde
» Instagram: https://www.instagram.com/itamdestudio
» X (Twitter): https://x.com/itamdestudio
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Articoli recenti

Commenti recenti

  1. Massimiliano Ferretti su I Commenti

    Mi permetto di aggiungere una mia considerazione personale che ho riportato dall'utilizzo di C#. Personalmente mi piace commentare funzioni e…

  2. Personalmente ritengo che utilizzare git porti sempre dei vantaggi anche per lo sviluppo solo. Già solo la possibilità di fare…

  3. ciao, il link a discord non è piu valido, vorrei utilizzare il materiale che hai pubblicato tempo fa, come faccio?

Itamde è anche una scuola di programmazione online.

Itamde

Impara ciò che desideri, al tuo ritmo

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Potrebbe interessarti anche…

Le novità di Itamde Studio – Ottobre 2025

Le novità di Itamde Studio – Ottobre 2025

Tra creazioni, libri e un po’ di magia artigianale L’autunno è arrivato e Itamde Studio prosegue la sua stagione creativa con la consueta energia poliedrica: tra scrittura, web, video, artigianato e nuovi progetti in vista dei mercatini di fine anno. Questo mese di...

Rimani aggiornato sulle ultime notizie e novità

Accedi ai contenuti riservati

Scopri il dietro le quinte dei nostri progetti, risorse esclusive e lo stato di avanzamento delle nostre creazioni in tempo reale.

Iscriviti alla newsletter

Ricevi le nostre notizie, le nostre riflessioni creative e le novità dell’atelier direttamente nella tua casella di posta elettronica.

Seguici

Unisciti alla nostra community sui social network per seguire i nostri progetti quotidiani e interagire con noi.