Jump to content
Unity Insider Forum

Triggerzone


Rokks

Recommended Posts

Moinsen zusammen,

ich bendiene mich eines Triggers, welcher mir als "Zone" dienen soll.
Mit einem zweiten "Fremd"-Objekt betrete ich diese Zone und löse ein Event aus, so weit so gut.
Auf dem Zweitobjekt jedoch möchte ich eine Anzeige "im Inspektor" schaffen, die mir verrät, mit wieviel Prozent dessen Fläche ich die Zone berühre.

Standartmässig würde ich beim Entry mittels eines Rays die Mittelposition des Trigges auslesen, die Position des Fremdobjektes dagegensetzen und dessen Fläche hinzuziehen. Ich könnte  mir jedoch gut vorstellen, dass es hierfür bereits einen vorgefertigten Ansatz gibt.
Kann und mag mir jemand den richtigen Weg weisen? :)

LG
Rokks

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, Schade.
Danke für die schnelle Info :)

Habe es nun recht Schmal realisiert ... vermute ich mal ^^
Beim eintreffen in den Trigger fülle ich eine Abfragevariable mit dem stehendem Wert des Triggerradius. Da es sich um ein fest zu platzierendes Objekt handelt, arbeite ich mit OnTriggerStay(). Begründung ... der Radius des Triggers ist variabel und kann sich erhöhen wie verringern.

Mit Vector3.Distance erhalte ich die tatsächliche Differenzentfernung, dividiere den Triggerradius und setze den erhaltenen Wert *100, um den prozentualen Wert des Körperanteiles zu erhalten, der sich im Bereich des Triggers aufhällt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde mit (wird bei einer Kollision erzeugt):
https://docs.unity3d.com/ScriptReference/ContactPoint.html
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionEnter.html

und:
https://docs.unity3d.com/ScriptReference/Collider-bounds.html

arbeiten. Allerdings weiss ich nicht, wie viele ContactPoints erzeugt werden und wie genau diese sind. Aber wenn hier alle Punkte zurückgegeben werden müsste mit Hilfe des Volumens der Colliderbounds es möglich sein, exakt des Volumen (oder die Fläche) der Volumendurchdringung zu berechnen. Ich habe da aber auch keinen fertigen Code.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...