Aktuelle Zeit: 14.05.2024, 09:32

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 18.05.2010, 20:37 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Hallo, ich würde gerne wissen ob es auch möglich ist wenn ich IrrOde aber nicht die klassischen Irrlicht Triangle Selectors für Kollisionen benutze, sondern FunCollisions welche die Triangle Selectors komplett ersetzt auch für neue Kameras usw.

Und noch eine Frage: ist es sinnboll IrrOde in einem Ego Shooter zu verwenden oder wäre das eher unpassend, wegen was auch immer?

danke für eine Antwort.

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 19.05.2010, 19:07 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Entschuldigung für Double Post, aber ich habe jetzt angefangen IrrODE in mein Projekt einzubeziehen (ODE usw. hab ich schon Kompiliert und alles wurde verlinkt.)

Nun habe ich aber das Problem: Wenn ich eine IRREdit Szene Lade und dort alle Mesh- und AnimatedMeshSceneNodes dem worldNode als Child hinzufügen möchte kommt beim ersten Node folgende Debugger Fehlermeldung und nebenher kommt der "Senden/Nicht Senden" Fehler von Windows:

Debugger hat geschrieben:
Pure Virtual Method called

This application has requested the Runtime to terminate it in an unusual way. Please conctact the application's support team for more information.


Ich weiß wirklich nicht warum das so ist, aber ich weiß, dass ich die Sachen mit dem Timer, WorldNode usw. alles in richtiger Reihenfolge lade und erstelle. Könnte es sein dass IrrOde einen Node typ nicht verträgt? Ich habe auch schon versucht sie mit dynamic_cast umzucasten was auch nichts bringt...

~EDIT~

Feststellung des Tages: Es liegt nicht an den Nodes die geladen werden, der Fehler wird schon bei der Funktion "LoadScene" verursacht. Verändert die IrrODE etwa die LoadScene Funktion?

~EDIT~

Bin jetzt auf das IrrEdit PlugIn der IrrOde umgestiegen. Jetzt kratzt das ganze programm auch wieder bei der Funktion "LoadScene" ab, warscheinlich weil die Nodes oder so nicht erkannt werden. Ich habe alles genau so wie im Tutorial nur dass ich es direkt auf mein Projekt anwende, was aber rein theoretisch funktionieren sollte.

~EDIT~

So, jetzt ist das einzige Problem nur noch: Die Kamera fällt immer durch den Boden hindurch. Also denke ich dass es irgendwie nicht so ganz funktioniert, mit IrrOde und der neuen Kollisionsengine...

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 25.05.2010, 06:45 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Hallo,

kaum zurück aus dem Urlaub und schon liest man sowas. Kann nicht genau sagen, was das Problem ist, hab noch nie versucht, eine andere Kollisionsabfrage als die von ODE und Irrlicht (ODE für die Physik, Irrlicht für die Kamera) zu benutzen. Wenn das Laden der Szene fehlschlägt wäre meine erste Idee eine nicht registrierte SceneNodeFactory. Ist aber ein Schuss ins Blaue.

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 25.05.2010, 11:33 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Node ist registriert, nur die Kamera an sich fällt durch den Boden durch, wenn du willst kann ich dir den Link zu der Kollisionsengine geben dass du dir das mal anschauen kannst =D

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 26.05.2010, 06:21 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Kommt da irgendwas an? Also wird der nearCollisionCallback aufgerufen? Das wäre das Erste, was zu klären wäre. Kannst mir schon einen Link geben, weiß aber nicht, wie weit ich da weiterhelfen kann, ich hab mich (wie gesagt) immer auf die ODE Kollisionsabfrage verlassen (bis jetzt ohne (größere) Probleme).

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 26.05.2010, 11:25 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Was ist der nearCollisionCallback?

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 27.05.2010, 06:39 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Zuerst wird (glaub ich) eine Bounding-Box Kollisionsabfrage gemacht. Dabei wird festgestellt, ob es sich lohnt, die Kollision zweier Objekte genauer zu betrachten. Wenn dieser schnelle Test ergibt, dass es eine Kollision geben könnte, dann wird die nearCollisionCallback Funktion aufgerufen. In dieser Funktion liegt es dann am Programmierer, die Detailprüfung vorzunehmen, z.B. mit der mitgelieferten Kollisionsabfrage (Details stehen im ODE manual, irgendwo auf http://opende.sourceforge.net). Im Falle von IrrODE ist diese Funktion als Methode von CIrrOdeManager (oder CIrrOdeDevice ... hab den Code grad nicht da und bin mir nicht ganz sicher) definiert.

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 06.06.2010, 22:35 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Und wie kann ich diesen nearCollisionCallback z.B. im Debugger anzeigen lassen, dass ich weiß dass es aufgerufen wurde?

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 07.06.2010, 06:39 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Dafür muss du IrrOde nochmal selbst kompilieren. Die libs, die dabei sind, sind Release Versionen ohne Debug Informationen (wegen der Dateigröße: 2 MB (Release) gegen 23 MB (Debug)). Die Projekte sind ja mit dabei (VC2005, VC2008, Code::Blocks), du musst nur in den Projekteinstellungen die Pfade zu ODE und Irrlicht anpassen und dann sollten sie kompilieren.

_________________
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


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.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de