2017-12-21 2 views
0

Ich habe ein seltsames Problem, ich möchte eine Rigidbody teleportieren, wenn ich von einer Plattform stürze und trigger mit einem Objektanruf Void eintrage.Teleportieren eines Starrkörpers mit OnTriggerEnter

hier ist der Code:

void OnTriggerEnter(Collider triggerCollider) 
{ 
    print(triggerCollider.gameObject.name); 
    if (triggerCollider.gameObject.name == "void") 
    { 
     myRigidbody.position = new Vector3(0,10,0); 
    } 
} 

myRigidbody ist der Spieler Rigidbody

der Druck funktionieren. aber das Verschieben der Rigidbody funktioniert nicht.

warum? Fehle ich etwas?

+0

was genau ist 'myRigidbody'? Ich sehe es nicht definiert in dem Code, den Sie uns – Jhecht

+1

gegeben haben. MyRigidbody ist eine Rigidbody-Komponente, ich nehme an, also sollten Sie wahrscheinlich 'myRigidbody.transform.position = new Vector3 (0,10,0);' –

+1

Wird das Objekt auch "Void" oder "Void" genannt? String-Vergleiche sind CASE SENSITIVE –

Antwort

0

Ich denke, Sie haben die ganze Sache zu tun in einer falschen Weise Geck ...
zunächst einen Verweis auf Ihre Starrkörper machen
dann versuchen, einen Tag zuweisen Objekt zu zielen und danach, verwenden OnTriggerEnter mit compareTag
Sie wie dies gehen sollte:

void OnTriggerEnter(Collider other) { 
    if (other.CompareTag("yourAssignedTag")) 
     myRigidbodyReference.position = new Vector3(0,10,0); 
    } 

und auch können Sie eine OnTriggerExit Funktion schreiben viseverse Sache zu tun.
Ich hoffe, dass die Arbeit für Sie Mann!

Verwandte Themen