Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Wie ich feststellen musste gibt es im Internet nur sehr forgeschrittene Artikel zum Thema Kollisionserkennen. Artikel zu Kollisionsabfragen, wie sie in Spielen verwendet werden gibt es kaum. Und die, die es gibt sind meist unvollständig bzw. fehlerhaft. Ich habe mich mit dem Thema in letzter Zeit recht intensiv beschäftigt. Nachdem ich etwa 4 verschiedene Methoden ausprobiert habe und immer wieder Probleme/Fehler entdecken musste habe ich mich entschlossen ein eigenes System zu entwickeln. Da es nun zu funktionieren scheint wollte ich anfragen in wie weit Interesse an einem Tutorial diesbezüglich steht? Das ganze würde gleichzeitig ein Mathematiktutorial werden, da mit Ebenen, Kugeln und Zylindern hantiert wird.
Damit ich sicher gehen kann, dass es auch auf allen Systemen läuft (ich habe noch Bedenken bzgl. des Timebased Movement) habe ich eine kleine Beispielanwendung angehängt.
Um einen besseren Effekt zu erzielen habe ich die Reibung deaktiviert. Damit rutscht man nun den Boden und an Wänden entlang wie ein Puck beim Eishockey
Die beigefügte Karte liefert die Möglichkeit das System auf alle möglichen Geometriekonstellationen, wie z.B. spitze Kanten, schiefe Ebenen, Treppen und Unebenheiten in Wänden und Boden zu testen.
Sollte das Programm an irgendeiner Stelle in einer Endlosschleife versacken oder die Kollisionserkennung versagen fände ich es schön, wenn ihr mir die Stelle nennen könntet, wo dies geschieht (Solche Probleme sind eigentlich immer reproduzierbar). Da ich es aber ausgiebig getestet habe hoffe ich, dass es nicht geschieht
Sollte alles funktionieren und Bedarf bestehen werde ich mich in 2 Wochen an ein Tutorial setzen (ich fahre heute Abend weg).
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
Leider ist zwar die Bewegung von der Zeit abhängig aber nicht die Beschleunigung und es gibt wohl auch keine Obergrenze, so daß sehr schnell wird und die Bewegung dann nur schlecht steuern kann. Trotzdem sind mir 2 Dinge aufgefallen:
1) Ab einer gewissen Geschwindigkeit kommt man diese recheckige Stufe in der Mitte hoch und vorher nicht. Das eigentlich nicht korrekt, da Treppensteigen usw. nicht von der Spielergeschwindigkeit abhängig sein darf.
2)Ich weiß nicht ob das eine Beschränkung des Systems ist, aber die Entfernung zu den Wänden entspricht ungefähr der Entfernung zum Boden. Das ist ja, außer wenn man übermäßig dick ist, eigentlich nicht der Fall.
Ansonsten das recht solide zu sein, obwohl da in dem Raum eine Menge kritischer Situationen aufgebaut sind.
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Das Problem mit der maximalen Geschwindigkeit lässt sich sehr einfach beheben indem man die Länge des Geschwindigkeitsvektor bei bedarf anpasst.
Die Beschleunigung müsste eigentlich auch zeitabhängig sein. Evtl. entsteht dieser Effekt durch die fehlende Maximalgeschwindigkeit. Sobald ich die Änderungen durchgeführt habe werde ich es hochladen. Heute habe ich allerdings wenig Zeit.
Die Höhe der Kamera über dem Boden lässt sich recht leicht erhöhen.
Das Problem mit dem Erklimmen des Quaders in der Mitte ist jedoch ein Problem des Systems selbst.
Wenn man sehr schnell ist kann man die Stufe sogar als Sprungchance nutzen. Man muss sich den Betrachter in etwa wie einen Gummiball vorstellen, der mit voller Wucht gegen eine kleine Stufe prallt. Je schneller er ist umso höher vom Boden hebt er ab. Wenn die Geschwindigkeit jedoch zu gering ist, prallt er einfach von der Stufe ab.
Ich habe auch schon eine konkrete Idee, wie ich diesen Effekt zumindest mindern kann. Zusätzlich sollte eine Maximalgeschwindigkeit diesen Effekt vertuschen. Ganz beseitigen können werde ich ihn aber nicht.
Danke für diese Hinweise.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.