Unity 3d wenn Player Boden berührt dann mache (...)?
Hallo bin relativ neu bei Unity dabei ... habe die unity 2020.1 Version auf dem mac ich benutze zum coden Visual Studio
also ich habe ein kleines Spiel gemacht ich bin ein First Person Player (welchen ich mir Script Kiddy Haft aus dem Internet gezogen habe) der sich bewegen kann springen links rechts und so weiter in dem Spiel geht es darum ein Jump and Run Pakur zu bewältigen man springt von Platform zu Platform (die Grünen Platten) alles schön und gut funktioniert top nun aber mein Problem: ich möchte das sobald der Player den Boden (rot gekennzeichnet) berührt etwas passiert also zum Beispiel das er wieder zum Start Punkt teleportiert wird also eigentlich eine „einfache“ if oder While Abfrage (zumindest in Python welches ich relativ gut verstehe) wie kann ich es schaffen das das Spiel merkt ‚Wenn Spieler berührt Boden dann gehe zum Start‘ könnte mir jemand Anfänger freundliche Antworten geben Danke im Voraus Lg
ps der Spieler ist ein Rigidbody und ich denke kein richtiges Material sondern nur die Kammera
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.
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
}
}