OnTrigger je Unityjeva metoda uz pomoć koje možemo provjeriti na temelju triggera koji se nalazi na kolajderu nekog objekta je li neki drugi objekt ušao, izašo ili stoji u nekom tom objektu.
Uz pomoć metode OnTriggerEnter možemo provjeriti je li neki objekt ušao unutar objekta na kojem je skripta.
U sljedećem primjeru ćemo povećati x za 1 svaki put kada kada neki objekt uđe u objekt na kojem je skripta.
[SerializeField] int x;
void OnTriggerEnter(Collider other)
{
x++;
}
Ako želimo da se to desi svaki put kada neki objekt određenog imena uđe unutar objekta na kojem je skripta samo napišemo other.name u if.
[SerializeField] int x;
void OnTriggerEnter(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s imenom "igrac" uđe u trigger.
if (other.name == "igrac")
{
x++;
}
}
Ako želimo da se to desi svaki put kada neki objekt određenog taga uđe unutar objekta na kojem je skripta samo napišemo other.CompareTag u if.
[SerializeField] int x;
void OnTriggerEnter(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s tagom "igrac" uđe u trigger.
if (other.CompareTag("igrac"))
{
x++;
}
}
Uz pomoć metode OnTriggerExit možemo provjeriti je li neki objekt izašao iz objekta na kojem je skripta.
U sljedećem primjeru ćemo povećati x za 1 svaki put kada kada neki objekt izađe iz objekta na kojem je skripta.
[SerializeField] int x;
void OnTriggerExit(Collider other)
{
x++;
}
Ako želimo da se to desi svaki put kada neki objekt određenog imena izađe iz objekta na kojem je skripta samo napišemo other.name u if.
[SerializeField] int x;
void OnTriggerExit(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s imenom "igrac" izađe iz triggera.
if (other.name == "igrac")
{
x++;
}
}
Ako želimo da se to desi svaki put kada neki objekt određenog taga izađe iz objekta na kojem je skripta samo napišemo other.CompareTag u if.
[SerializeField] int x;
void OnTriggerExit(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s tagom "igrac" izađe iz triggera.
if (other.CompareTag("igrac"))
{
x++;
}
}
Uz pomoć metode OnTriggerStay možemo provjeriti nalazi li se neki objekt unutar objekta na kojem je skripta.
U sljedećem primjeru ćemo povećati x za 1 svaki put kada se neki objekt nalazi unutar objekta na kojem je skripta.
[SerializeField] int x;
void OnTriggerStay(Collider other)
{
x++;
}
Ako želimo da se to desi svaki put kada se neki objekt određenog imena nalazi unutar objekta na kojem je skripta samo napišemo other.name u if.
[SerializeField] int x;
void OnTriggerStay(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s imenom "igrac" izađe iz triggera.
if (other.name == "igrac")
{
x++;
}
}
Ako želimo da se to desi svaki put kada se neki objekt određenog taga nalazi unutar objekta na kojem je skripta samo napišemo other.CompareTag u if.
[SerializeField] int x;
void OnTriggerStay(Collider other)
{
//x će se povečati za 1 svaki put kada neki objekt s tagom "igrac" izađe iz triggera.
if (other.CompareTag("igrac"))
{
x++;
}
}