2017-05-10 2 views
-2

Ich bin neu in der Einheit .... Problem ist, dass, wenn meine 2D-Objekt nach unten mit zunehmender Geschwindigkeit bewegen sie von den Fliesen mit Box collider2D nach Abdeckung somme Abstand .i durchdringen Ändern Sie auch die Kollisionseigenschaft von diskret zu kontinuierlich, aber nicht so mein Problem.schnell bewegende Objekt durch die Box Collider in Einheit

Antwort

-1

Sie können versuchen, den festen Zeitschritt von Edit-> ProjectSettings-> Time zu verringern. Dies ist das Zeitintervall für FixedUpdate.

Look Unity Life Cycle from here

And look Time management on Unity

Zeitschritt Effekte Zeitintervall von FixedUpdate und OnCollision * Verfahren und andere Verfahren, die im gleichen Zyklus mit FixedUpdate

+0

durch Abnahme Festzeit Schritt Geschwindigkeit des Objekts verringern ... und durch Erhöhung Zeitschritt Objekt durchdringen – Asad

-1

Auf dem Starrkörperbesteck den CollisionDetectionMode zu Continuous oder ContinuousDynamic

Dokumentation https://docs.unity3d.com/Manual/class-Rigidbody2D.html https://docs.unity3d.com/ScriptReference/CollisionDetectionMode2D.html

Beschreibung (3D-Version) gilt für 2D als auch

Die Kollisionserkennungsmodus des Starrkörper.

verwenden zu set up a Rigidbody's for continuous collision detection, die to prevent fast moving objects from passing through other objects without detecting collisions. Für beste Ergebnisse verwendet wird, diesen Wert auf CollisionDetectionMode.ContinuousDynamic gesetzt für sich schnell bewegende Objekte, and for other objects which these need to collide with, set it to CollisionDetectionMode.Continuous. Dies hat einen großen Einfluss auf die Physik Leistung, so lass es einfach auf den Standardwert von CollisionDetectionMode eingestellt .Diskret, wenn Sie bei Kollisionen schneller Objekte keine Probleme haben. Kontinuierliche Kollision Detection is only supported for Rigidbodies with Sphere-, Capusle- or BoxColliders.

lesen, die sorgfältig und Sie werden sehen Sie die Objekte festlegen müssen sie mit zu Continuous auch kollidieren.

Dies sollte Ihr Problem ohne Zweifel beheben, es sei denn, Ihre Beschleuniger auf Trigger gesetzt sind, wobei in diesem Fall müssen Sie OnTriggerEnter stattdessen auf OnCollisionEnter erkennen (Denken Sie auch daran Trigger andere Trigger tun sie nicht auslösen)

+0

Ich habe nicht gefunden ... CollisionDetectionMode.ContinuousDynamic Option in 2D-Setup ... – Asad

+0

haben Sie versucht, die Option auf der Kachel und das sich bewegende Objekt auf "Continuous" ? Sind Sie sicher, dass das bewegliche Objekt und die Kachel beide "nicht" Trigger sind? –

Verwandte Themen