Aktuelle Zeit: 13.05.2025, 13:53

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 16.03.2008, 15:00 
Offline
Benutzeravatar

Registriert: 16.03.2008, 14:57
Beiträge: 3
Guten Tag Zusammen,

Ich habe einige fragen über die Irrlicht Engine an euch. Ich bin noch sehr neu in der Programmierung und noch neuer in der Grafik-/Spieleprogrammierung. Ich hatte immer zwischendurch Phasen von einigen Wochen in denen ich mich mal richtig ins lernen reingehängt hab, aber hab dann immer irgendwann den Faden verloren und mich nicht weiter drum gekümmert.
Aber nun seit Anfang Februar bin ich wieder ordentlich am Lernen und hab nun auch C­++ im großen und ganzen drauf. Einige sachen muss ich noch Lernen(Vererbung, Templates...) und das Anwenden von C++ ist für mich auch noch sehr ungewohnt. Aber die Tutorials auf der Irrlicht Sourceforge Seite verstehe ich im großen und ganzen, bis auf das die Engine für mich noch so Riesig und Undurchschaubar wirkt. Ich hab im Tutorial über die Irrlicht GUI ein bisschen damit herum gespielt. Die Dokumentation von Irrlicht ist ja auch sehr gut, hat mir beim Ausprobieren im jedenfall schon sehr genutzt. Nur sind mir einige dinge noch unklar. Da ich ja auch keine nennenswerte Erfahrung mit Engines habe, verstehe ich einige dinge auch noch nicht so richtig.
Deshalb würde ich im folgenden mal gerne einige Fragen die etwas erfahreren Irrlicht Nutzer richten.

Was ich mich beim Lesen der Dokumentation immer wieder gefragt habe war wozu diese parent parameter in vielen funktionen sind. Ich kann mir darunter nicht so recht was vorstellen. Wäre nett wenn mir einer von euch sagen könnte was es damit aufsich hat und wozu man sie benutzt.

Dann hab ich noch ein paar Fragen zu einigen anderen Teilen der Engine.

Was mich insbesondere interessiert ist, wie der SceneManager funktioniert.
Im ersten Tutorial wird ja ein AnimatedMeshSceneNode mit dem md2 Model geladen. Und mich würde interessieren ob man nun wenn man ein lvl aufbaut, einfach jede menge von solchen Scene Nodes einfügt. Also ich stells mir so vor das man vielleicht das Level als ein Mesh Lädt, als ein Statisches Mesh(falls es sowas gibt, hab echt keine Ahnung) und das beispielsweise jeder NPC oder jeder Bewegliche gegenstand ein eigener AnmiatedMeshSceneNode wäre, der dann in der Welt platziert wird. Kommt das so hin oder funktioniert das anders?

Mich würde auch interessieren wie die Texturierungsmethode für das model eigentlich funktioniert. Woher weiß die Funktion welcher teil von dem Bild wo auf das Objekt gehört?

Das sind so die ersten fragen die mir bei den Tutorials in den Sinn kamen. Wäre super wenn ihr mir da weiter helfen könntet. Das ganze ist leider etwas lang geworden, hoffe mal das das nicht so schlimm ist :)

Gruß

Yosemite Sam


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 16.03.2008, 15:23 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Also:
SceneNodes sind in einer Hierarchie geordnet:
Ganz oben ist der RootSceneNode (wenn du parent = 0 benutzt), du kannst aber auch deine SceneNodes an andere SceneNodes hängen, sodass du dann eine Baumstruktur erhälst.

Ja, Levels bestehen später aus mehreren AnimatedMeshSceneNodes, allerdings hast du zB auch noch Terrains etc.

Und das Texturieren geschieht im Modeller, da bekommt jede Ecke des Meshes Texturkoordinaten (von 0/0 = oben links bis 1/1 = unten rechts), die werden dann von der Grafikkarte gezeichnet.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 16.03.2008, 15:27 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
>Edit<
LoL Warst wohl schneller mit der Antwort
>Edit Ende<
Hi erstmal :)

Also im Grunde sollte man wenn man in die Spieleprogrammierung einsteigt zumindest die Programmiersprache die man nutzt weitgehendst vestehen, da man so die meisten Fehler schon von Anfang an umgehen kann.
Jetzt aber zu deinen Fragen: Die Parents sind Objecte usw also SceneNodes die sozusagen als Übergeordnetes Object gehandhabt werden. Wenn du z.B. eine Waffe in deine Scene laden willst und diese soll immer an der Playerfigur sein.. so ist der Parent der Waffe das Playerobject...

Das Laden eines einzenen Modells als Level würde ich nur bedingt machen.. Also wenn es sich um eine sehr Großes level handelt würde ich dir vorschlagen das Level in einzelne Bereiche zu Splitten und diese zu laden.. somit kannste die Teile des Levels ausblenden wo der Player momentan nicht ist und auch nicht sehen kann. Du musst immer bedenken das die FPS dein Freund ist.. aber auch in der Besten ENGINE sehr schnell dein Feind werden kann... Daher versuche immer so wenig wie möglich zu rendern.. Polygone ausblenden die der Spieler nicht sehen kann, Functionen nicht ausführen die nicht benötigt werden... Texturen und andere Medien die nicht benötigt werden aus dem Speicher löschen usw...

Achso und das mit den texturen sind UV (genauer genommen ) UVW Maps.. diese erstellst du in einem 3D Programm deiner Wahl.. diese Positionsdaten der Textur werden dann in dem FOrmat z.B. .X gespeichert und können problemlos in Irrlicht geladen werden.. das Heißt beim richtigen Exportieren brauchst du dir darum keine Gedanken machen.

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 12:22 
Offline
Benutzeravatar

Registriert: 16.03.2008, 14:57
Beiträge: 3
Hallo,

erstmal danke für die Hilfe :). Ich hab nun in der letzten Woche ein bisschen angefangen mit der Irrlicht Engine herum zu spielen.
Ich hab mir als erstes die Aufgabe gesetzt beim Drücken der Linken Maustaste das Model aus den Tutorials erscheinen zu lassen. Hat auch wunderbar geklappt. Leider ist es mir bisher aber nur gelungen das Model da erscheinen zu lassen wo das Target der Camera ist. Ich wollte es nun schaffen das Model da erscheinen zu lassen wo ich mit der Maus hin klicke. Aber ich habs nicht hinbekommen.

Ich hab nun versucht einen schnittpunkt mit einer plane zu ermitteln. Dazu hab ich die funktion getRayFromScreenCoordinates() benutzt. Leider stürzt dabei immer das programm ab, da er scheinbar immer auf einen geschützten speicherbereich zugreift. Ich verstehe aber nicht warum.

Code:
line3d<f32> interLine = collisionManager->getRayFromScreenCoordinates(mCursorPosition,0);


Ist an dem Funktionsaufruf irgendwas falsch?

Hier die Fehlermeldung:
Zitat:
    Irrlicht Engine version 1.4
    Microsoft Windows Vista Personal (Build 6000)
    "MeshAddTest1.exe": "C:\Windows\System32\uxtheme.dll" wurde geladen
    Using renderer: Direct3D 9.0
    "MeshAddTest1.exe": "C:\Windows\System32\d3d9.dll" wurde geladen
    "MeshAddTest1.exe": "C:\Windows\System32\version.dll" wurde geladen
    "MeshAddTest1.exe": "C:\Windows\System32\d3d8thk.dll" wurde geladen
    "MeshAddTest1.exe": "C:\Windows\System32\nvd3dum.dll" wurde geladen
    NVIDIA GeForce 8600M GT nvd3dum.dll 7.15.11.5663
    Loaded mesh: media/sydney.md2
    Eine Ausnahme (erste Chance) bei 0x002adcb0 in MeshAddTest1.exe: 0xC0000005: Access violation.
    "MeshAddTest1.exe": "ImageAtBase0x697a0000" geladen, Keine Symbole geladen.
    "MeshAddTest1.exe": "ImageAtBase0x92e0000" geladen, Keine Symbole geladen.
    "MeshAddTest1.exe": "ImageAtBase0x697a0000" entladen.
    "MeshAddTest1.exe": "C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
    "MeshAddTest1.exe" (Verwaltet): "C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" wurde geladen
    Eine Ausnahme (erste Chance) des Typs "System.AccessViolationException" ist in MeshAddTest1.exe aufgetreten.
    Eine nicht behandelte Ausnahme des Typs "System.AccessViolationException" ist in MeshAddTest1.exe aufgetreten.

    Zusätzliche Informationen: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.


Ich hoffe ihr könnt mir da weiter helfen.

Bis später, und schönes Ostern wünsch ich euch ;)

Sam


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 12:30 
Offline
Benutzeravatar

Registriert: 16.03.2008, 14:57
Beiträge: 3
Ah verdammt, das gibts doch nicht. Jetzt hab ich den fehler endlich gefunden. Ich hab vergessen den den collisionManager zu initialisieren.

Hat sich also erledigt ^^


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 12:32 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Argh... "In dem Thema wurde in der Zwischenzeit mindestens ein neuer Beitrag erstellt. Du kannst deinen Beitrag überprüfen und ihn gegebenenfalls anpassen.".
Muss ja nicht sein, genau das wollte ich auch grad sagen :)

Ansonsten lassen sich solche Anfängerfragen gut im IRC besprechen (hol dir nen IRC-Client und komm nach #irrlicht3d@euirc.net).

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 13:02 
Offline
Moderator

Registriert: 25.02.2007, 14:35
Beiträge: 323
Wohnort: Münster
thephoenix hat geschrieben:
Ansonsten lassen sich solche Anfängerfragen gut im IRC besprechen (hol dir nen IRC-Client und komm nach #irrlicht3d@euirc.net).


Du nimmst dem Forum die ganzen Beiträge weg :)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 14:52 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Hey, komm, dieses Problem hatten wir jetzt sicher 10 Mal und mehr, das *möchte* ich nicht so oft im Forum haben ^^

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Anfänger Fragen zu Irrlicht
BeitragVerfasst: 24.03.2008, 15:39 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
die *suche* wär auch noch eine option xD

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


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 2 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