Registriert: Mi Jan 02, 2008 21:33 Beiträge: 2 Wohnort: Braunschweig
Hallo!
Ich bin ganz neu im OpenGl Bereich und auch dementsprechend unerfahren, programmiere aber schon länger mit Delphi und konnte mich bisher auch recht schnell in die Materie hineinarbeiten.
Als Einstieg habe ich mir das Memory-Spiel vorgenommen - Karten liegen auf einem Brett und werden aufgedeckt. Soweit so gut, so siehts aus:
Dateianhang:
screen.jpg
Dateianhang:
screenÖffnen.jpg
Es sieht aber total bescheuert aus - finde ich jedenfalls. Schon das Blau im Hintergrund, die unschönen Texturen der Karten usw... Gar nicht gefällt mir das "Brett" als Boden für die Karten. Welche Tipps würdet ihr mir geben, um die Szene optisch deutlich aufzuwerten? Toll wäre ja ein richtiger Tisch, nur daraus ergeben sich drei Probleme: Woher bekomme ich den Tisch (bzw. die Texturen)? Wo steht der Tisch? Im nichts? Ein Zimmer ist zu aufwendig... Die Anzahl der Karten im Spiel ist frei wählbar - der Platz auf dem Tisch sollte aber immer ausreichen und ganz leer sollte er auch nicht sein.
Viele Dank schon mal im Vorraus für Antworten.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Also guck mal nach Skyboxen. Texturen findest du bei Google zuhauf. Ansonsten reicht vielleicht auch schon ein Farbverlauf im Hindergrund.. Du könntest dir einen 3DS Importer integrieren gl3ds heißt das ding glaub ich. Dann erstellst du dir einen supischicken Tisch mit C4D oder max und nimmst dann den. So könntest du dir auch schicke Karten, mit 3D-verzierungen basteln.. Ansonsten bisschen Licht fehlt noch... und wenn du dabei bist gleich nochn ne Shadowmap
Einen Tisch kann man z.B. mit Blender oder Wings3D selbst modellieren oder man baut ihn "Ingame" aus 5 Quadern.
Wie man eine Holztextur erstellt wird hier und hier erklärt. Beide Links stammen aus der Linksammlung im Wiki
Als Umgebung könntest du einfach eine Skybox nehmen. Dann "schwebt" dein Tisch oder dein Brett halt in dieser Welt. Gängige Praxis.
Wie du eine Skybox z.B. mit dem unter gewissen Umständen kostenlosen Programm Skybox 1.X erstellst, erfährst du mit Google.
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zuzüglich zu den gegebenen Vorschlägen kann ich dir unbedingt empfehlen eine Beleuchtung einzubauen. Da ich davon ausgehe, dass dein Code auf OpenGL 1.x basiert ist es am einfachsten das (mittlerweile veraltete) OpenGL-Licht (glLight) zu verwenden. Später kannst du noch Schatten einbauen, was allerdings etwas fortgeschrittener ist.
Wenn du eine Shaderfähige Grafikkarte besitzt, könnte es auch eine Option sein die Beleuchtung per Shader zu machen. Entsprechende Beispiele findest du im Wiki. Auch 2 Tutorials gibts dazu.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Welche Tipps würdet ihr mir geben, um die Szene optisch deutlich aufzuwerten?
Nun statt auf einem Tisch könntest du das auch direkt auf dem Boden machen. Ein schönes Terrain rendern, ggf. mittels Partikelsystem ein bisschen Staub aufwirbeln wenn die Karten umgedreht werden. Das ganze kannst auch an einem Strand machen, dann kannst du noch das Wasser simulieren was dann aber wirklich kompliziert wird.
Registriert: Mi Jan 02, 2008 21:33 Beiträge: 2 Wohnort: Braunschweig
Danke für die vielen Antworten!
Zitat:
OT: Wie nett, jemand aus dem Delphi-Treff! Mal kräftig Hallöchen ruf!
Ach hier bist du abgeblieben! Hallo!
Zitat:
Also guck mal nach Skyboxen.
Ok, habe ich - allerdings muss ich an der Textur noch ein bisschen herumwerkeln: Bei der aktuellen Perspektive sieht man den Horizont nicht...
Zitat:
Du könntest dir einen 3DS Importer integrieren gl3ds heißt das ding glaub ich.
Hmm, irgendwie mag ich diesen Loader nicht (der heißt jetzt auch glModel): Es ist unsauber programmiert. In die Modelle muss ich mich auch mal hereinarbeiten, so ein Modeller erspart einem doch heftig Arbeit.
Zitat:
Dann erstellst du dir einen supischicken Tisch mit C4D oder max und nimmst dann den.
Also C4D ist mir definitiv zu teuer, wenn, muss der Modeller kostenlos sein.
Zitat:
Ansonsten bisschen Licht fehlt noch...
Licht mit glLight habe ich soweit, bin aber noch nach der Suche auf Pappe-Materialeigenschaften. Aber da alle Objekte bisher nur Quader sind, ist dieses Licht noch nicht so der Bringer...
Zitat:
Einen Tisch kann man z.B. mit Blender oder Wings3D
Diese Programme werde ich mir mal anschauen, Blender habe ich schon installiert, finde ich in der Bedienung aber ein bisschen "gewöhnungsbedürftig".
Zitat:
Dann "schwebt" dein Tisch oder dein Brett halt in dieser Welt.
Ich glaub, so werde ich es machen.
Zitat:
Nun statt auf einem Tisch könntest du das auch direkt auf dem Boden machen. Ein schönes Terrain rendern, ggf. mittels Partikelsystem ein bisschen Staub aufwirbeln
Das ist zu viel Aufwand, man kann ja auch übertreiben Im Vordergrund soll weiterhin das Spiel stehen.
Meine Ziele werden also vorerst sein, mir eine noch bessere Skybox generieren zu lassen, einen Tisch zu bauen und richtiges Licht (also nicht glLight) zu verwenden (vielleicht mit Schatten). Wenn ich damit fertig bin, melde ich mich nochmal mit Screenshots.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
henni hat geschrieben:
Zitat:
Einen Tisch kann man z.B. mit Blender oder Wings3D
Diese Programme werde ich mir mal anschauen, Blender habe ich schon installiert, finde ich in der Bedienung aber ein bisschen "gewöhnungsbedürftig".
Blender ist ziemlich mächtig und das erlernen lohnt sich durchaus. Wenn du kein Problem mit Englisch hast, empfehle ich dir mal das Wikibook Blender 3D: Noob to Pro. Hat mir auch extrem geholfen.
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
und richtiges Licht (also nicht glLight) zu verwenden
Ja, glLight macht ziemlichen Unsinn. Nicht nur, dass es per Vertex beleuchtet, der Specular - Anteil wird soweit ich weiß falsch berechnet. Wird einfach der Vector (0, 0, 1) benutzt anstelle vom Vector, der zum Vertex (weil ja per Vertex Beleuchtung) zeigt. Gerade bei sehr ebenen Flächen sieht das doof aus.
Zitat:
vielleicht mit Schatten
Wenn dir Reicht, wenn der Schatten nur auf den Tisch fallt (*), dann sollts eigentlich reichen, das, was drüber ist, runterzuprojizieren, und dort etwas dunkler zu machen. zB mit Alphablending. Wenn da iwelche anderen Gegenstände sind, die auch im Schatten liegen können sollen, dann wirds schwieriger... ShadowMapping oder Stencil Schatten
(*): Zusätzliche Vorraussetzung ist, dass der Tisch eben ist
Mitglieder in diesem Forum: Majestic-12 [Bot] und 11 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.