C# Unity UI Unity C#
Početna stranica
Polazna lekcija
Prava pristupa
Time
GameObject
Destroy i SetActive
Mathf
Input
SceneManagement
UI programiranje
Audio source
Vektori
Kvaternion
Transform
Instantiate
RigidBody
OnTrigger
OnCollision
RayCast
PlayerPref

OnTrigger

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.


OnTriggerEnter

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.

Primjer:


[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.

Primjer:


[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.

Primjer:


[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++;
    }   
}
            


OnTriggerExit

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.

Primjer:


[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.

Primjer:


[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.

Primjer:


[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++;
    }   
}
            


OnTriggerStay

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.

Primjer:


[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.

Primjer:


[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.

Primjer:


[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++;
    }   
}
            


Prijašnje

Sljedeće