2016-07-24 24 views
0

in fortgeschrittenem Ich möchte sagen, wenn das eine wirklich einfache Frage mit einer einfachen Antwort ist, entschuldige ich mich, wie ich gerade in Programmierung gekommen bin.Basisch versuche ich, ein Skript zu erstellen, dass ein Block blau (Bild unten)) auf Kollision mit dem FPSController, wird zerstört werden, hier ist mein Skript:On-Collision-Skript funktioniert nicht?

using UnityEngine; 
using System.Collections; 

public class Cube : MonoBehaviour { 

    void OnCollisionEnter (Collision col) { 

     if(col.gameObject.name == "Blue") { 

      Destroy(col.gameObject); 
      print ("collison detected"); 

     } 

    } 

} 

aus irgendeinem Grunde aber, wann immer die fps-Controller mit dem Objekt als „Blue“ nichts passiert, die Funktion print() bekannt kollidiert wird nicht ausgelöst noch ist die Funktion destroy() enter image description here

Vielen Dank in advaned ;)

Antwort

0

Starrkörper fehlt in Ihren Cubes.

.Attach Rigidbody Komponente zu beiden Würfeln.

. Stellen Sie auch beide Cubes Rigidbody auf Is-kinematisch. Sie müssen beide Cubes Rigidbody auf Is-kinematisch setzen, damit der Zeichen-Controller sie nicht bewegen kann. Beachten Sie, dass, wenn Ihr Würfel nach dem Hinzufügen Rigidbody fällt, deaktivieren Sie einfach Use Graivty auf der Rigidbody.

Wichtig:

.Delete FPSController. Da Sie mit anderen Rigidbody GameObjects interagieren werden, verwenden Sie RigidBodyFPSController. Es kann in Assets\Standard Assets\Characters\FirstPersonCharacter\Prefabs gefunden werden. Ziehe RigidBodyFPSController in die Szene und lege dann das Cube-Skript an.

Sie werden feststellen, dass ein Rigidbody an RigidBodyFPSController angeschlossen ist. Do not ändern Sie die Einstellungen davon.

Das ist es. Alles sollte wie erwartet funktionieren.

Cube Einstellungen:

enter image description here

RigidBodyFPSController Einstellungen:

enter image description here

+0

I "Blue" zu einem starren Körper gesetzt, haben Kinematic unkontrolliert und ist "verwenden Schwerkraft" nicht markiert, aber die einzige Änderung, die ich sehe, ist der Würfel fällt, nachdem der FPScontroller es berührt, BTW hier ist Bild zu zeigen: http://imgur.com/a/2BikD – SpikyCat

+0

** "Ich setze" Blue "zu a Starrer Körper "** Sie setzen kein Objekt auf einen Starrkörper, Sie befestigen einen Starrkörper daran. Kannst du Rigidbody an beide Objekte anhängen? – Programmer

+0

Ich habe das schon gemacht, habe schon versucht zu ändern welches Objekt das Skript bekommt – SpikyCat