Rokks Geschrieben 15. April 2017 Melden Share Geschrieben 15. April 2017 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 More sharing options...
Sascha Geschrieben 15. April 2017 Melden Share Geschrieben 15. April 2017 vor 54 Minuten schrieb Rokks: Ich könnte mir jedoch gut vorstellen, dass es hierfür bereits einen vorgefertigten Ansatz gibt. Nicht wirklich, von daher ist dein Ansatz schon ganz gut. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rokks Geschrieben 15. April 2017 Autor Melden Share Geschrieben 15. April 2017 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 More sharing options...
Zer0Cool Geschrieben 15. April 2017 Melden Share Geschrieben 15. April 2017 Ich würde mit (wird bei einer Kollision erzeugt):https://docs.unity3d.com/ScriptReference/ContactPoint.htmlhttps://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 More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.