Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

1

19.11.2010, 21:39

Kollisionserkennung bei einer Indoor Scene

Hi Leute
ich wusste nicht so recht unter welche Kategorie ich das hier posten sollte falls ich hier falsch bin bitte verschieben.

Folgendes ist mein Problem:

Momentan teste ich gerade ein bisschen mit Indoorscenen herum. Ein wichtiger Punkt dabei ist dafür zu sorgen das man nicht durch die Wände läuft oder die Figur etwa in diesen Teilweise verschwindet.
Ich bin auf der suche nach einer gescheiten möglichkeit zu Testen ob ich gegen eine Wand Laufe oder nicht.

Mein bissheriger Ansatz ist folgender. Ich habe mir einen Mesh aus Dreieken erstellt welches sozusagen das Bodenmodel meiner Indoorscene darstellt. Ich habe desshalb Dreiecke genommen weil man damit relativ viele Möglichkeiten bei der Raumgestaltung hat man kann zum Beispiel relativ runde Räume(abhängig von der Dreieckszahl) erzeugen.
Ich habe über diverse Winkefunktionen nun jedes dreieck durchgeprüft um so herauszufinden ob ich mich innerhalb eines Dreieckgrundrisses befinde oder nicht.
Falls ich nicht mehr im dreiekc bin heist das ich habe eine Grenze meiner Szene erreicht.
Die höhe kann ich ebenfalsl aufgrund dieses Bodenmodells errechnen.

Meine Probleme bei diesem Verfahren sind jedoch das ich 1. nicht dafür sorgen kann das meine Figur nicht zum Teil in der Wandverschwindet und 2. habe ich bedenken das das Verfahren bei mehreren zu testenden Objekten zu langsam wird.

Hat jemand bereits erfahrung mit sowas gesammelt oder kennt jemand eventuell Quellen?
Habe schon gegoogelt aber so wirklich fündig bin ich nicht geworden. ?(
Über Indoor Szenen scheint man generell wenig zu finden ?(

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

19.11.2010, 23:30

Nun im Prinzip kannst dus in dem Bereich beliebig kompliziert haben. Grundsätzlich bauen praktisch alle Techniken da auf Baumstrukturen um die Menge an Daten in den Griff zu bekommen. Etwas was ziemlich gut funktioniert und lange Zeit der Standard für Indoor Maps im Gamesektor war ist BSP.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

3

20.11.2010, 11:22

BSP funktioniert halt nur für statische Geometrie. Sobald du dynamische indoor-szenen hast, wirds schwierig. Ansonsten ist BSP ideal für dein Problem.
Wenn es dynamisch sein muss, dann würd ich der Einfachheit halber die Kollisionserkennung einer Physik-Engine verwenden. Denn robuste Kollisionserkennung selbst zu schreiben ist alles andere als leicht (wenns schnell sein soll auch).
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

20.11.2010, 17:28

Wenn der Großteil der Szene statisch ist und nur einige sich bewegende Objekte drin sind dann kann man natürlich für die dynamischen Objekte auch eigene Ansätze einbauen...

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

5

22.11.2010, 08:51

Das wäre auch meine Empfehlung gewesen: wirf Deine ganze Levelgeometrie einer Physik-Engine Deiner Wahl zu. Wir benutzen PhysX, was ziemlich stabil und vor allem schweineschnell ist, auch für Millionen Polys. Allzu feingliedrige Geometrie kannst Du natürlich nicht so einfach als Kollisionsmesh benutzen - geht zwar, fühlt sich im Spiel aber seltsam an. Daher sollte man häufig auftretende Objekte am besten durch ein paar einfache Grundkörper aproximieren. Ansonsten ist der Ansatz aber stressfrei und schnell gemacht.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige