Ich habe verschiedene Auto Animation auf der Straße laufen, die von max importiert haben. Ich möchte ein so intelligentes System machen, dass, wenn das Auto von einem anderen Auto aus startet, es zu einem Stop wird. Bisher habe ich das versucht.Handle Auto Animation und Kollision
Added vier Collider mit Tag-Namen Auto, carBack, carLeft, CarRight
Auto nach links/rechts enthält diesen Code (wie in Bild 1 sehen). Hinzugefügt diesen Skript Auto gelassen, dass rechts Collider wenn diese Collider mit dem Auto Objekt getroffen dann Stop Auto worden. (Und auf Triggerausgang es wieder aufnehmen)
void OnTriggerEnter(Collider c) { if (c.tag == "Car") { Debug.Log("collided with : carsideTriggerScript :" + c.transform + " - object Name to stop : " + gameObject.name); c.transform.gameObject.GetComponent<AnimationControlSpeed>().Speed = 0; //StartCoroutine(DecreaseSpeedGradually(transform.gameObject.GetComponent<AnimationControlSpeed>())); } } void OnTriggerExit(Collider c) { if (c.tag == "Car") { Debug.Log("Exi collided with : carsideTriggerScript:" + c.transform + " - object Name to resume : " + gameObject.name); c.transform.gameObject.GetComponent<AnimationControlSpeed>().Speed = 1; } }
hinzugefügt Skript, das das überprüfen, ob Autostart mit carBack kollidieren Collider dann stoppen (Und am Trigger-Ausgang wird es fortgesetzt. Das gleiche Skript wie oben).
Aber ein Szenario zu schaffen, die Sie in Abb 2.
ich damit umgehen werde ermöglichen sehen. Es scheint, dass ein Auto Collider schlagen CarRightCollider und die gleiche Sache mit einem anderen Auto passieren, so dass beide Auto Halt und unfähig, sich wieder zu bewegen. Wie kann ich es kontrollieren? Da zu jedem Spielobjekt dieselben Skripte mit demselben OntriggerEnter und derselben Logik hinzugefügt werden.
sieht aus wie Sie brauchen eine Kugel oder Kapsel Collider – slf
warum? Was ist der Grund –
Sie haben Lücken zwischen Ihren Colliders, entweder erstellen Sie einen großen Collider, oder stellen Sie sicher, dass die vorhandenen Colliders überlappen – slf