Unity 3d wenn Player Boden berührt dann mache (...)?

3 Antworten

Unity macht in der Methode onUpdate/onFixedUpdate calls per Frame oder Physikintervall (Skript tutorials zu Unity vorausgesetzt). Mit einem Raycast nach unten mit den entsprechenden Parametern kannst du dann schauen, ob innerhalb einer gewissen Distanz unter dem Charakter der Boden ist.

Sieht ein bisschen so aus wie Karlson. Egal. Mache einfach das:

(Collider Hinzufügen)

private void OnCollisionEnter(Collision collision){
//Do something
}

Achja, wenn du noch die Lava einprogrammieren willst, mach das so:

Bei dem GameObject den Tag "Lava" hinzufügen.

private void OnCollisionEnter(Collision collision){
//Do something
if(collision.gameObject.tag == "Lava"){
//Player touched Lava
}
}

Grüße, Tjovo Studios.

Woher ich das weiß:eigene Erfahrung

Setzt ich glaub das muss der Player sein bei dem Collider auf IsTrigger programmier dein Script gib den boden einen tag beispielsweise floor und mach folgendes:

void OnTriggerEnter(Collider other)
{
if(other.tag.Equals("floor") //Ersetze floor durch den tag namen
{
//Code
}
}
Woher ich das weiß:Hobby