Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.08.2005, 16:30 Titel: Einschusslöcher |
|
|
Hi.
In manchen Spielen gibt es an den Wänden Einschusslöcher. Ich würde gerne auch sowas machen. Kann man das mit Multitexturing machen oder nimmt man ein Quad, das man auf die Wand setzt oder ganz anders?
Viele Grüße |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 13.08.2005, 16:36 Titel: |
|
|
Ja man könnte einfach ein Quad mit Alphatransparenz nehmen. Du musst aber schauen wenn du in eine Ecke oder das Gegenteil davon schiesst. Dann müsstest du den Quad noch "knicken". |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.08.2005, 16:39 Titel: |
|
|
2 Möglichkeiten sind mir dafür bekannt:
1) Texturprojektion, am besten mal googeln um das erklärt zu bekommen, hab von der Technik nicht viel Ahnung da ich sie nicht nutze.
2) Textured Quads:
Du hast ein Quad und legst es auf die Zielfläche, dabei so orientiert das es mit der Ebene der Zielfläche übereinstimmt.
ZBufferfunktion auf equal setzen so das der Quad nur gerendert wird wenn das Pixel auf der Tiefe schonmal beschrieben wurde.
Das Problem dabei ist das man Knicks, Kurven, etc so nicht mit einbezieht, wäre aber durch mehrere Quads möglich welche alle Flächen innerhalb von dem Decalradius mit Quads füllt. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 13.08.2005, 21:58 Titel: |
|
|
Ich weiß zwar nicht wie die Technik heißt(vllt. ist das auch die Texturprojektion, die Fallen angesprochen hat), aber die beste mir bekannte Möglichkeit ist diese:
Bei Kollision mit einer Wand o.ä. rechnest du die (absoluten) Weltkoordinaten in (relative) Texturkoordinaten um. Da musst du ja theoretisch nur das Dreieck suchen, bei dem die Kollision stattfindet und zwischen den Koordinaten der Vertices interpolieren. Wenn du dann die relativen Koordinaten des Einschusslochs zum Dreieck auf die Texturkoordinaten überträgst, hast du die Position in der Textur. Zum Schluss musst du nur noch das Einschussloch an der betreffenden Stelle in die Textur kopieren.
Die Methode hat auch den Vorteil, dass du alte Einschusslöcher nicht verschwinden lassen musst, weil du sonst zu viele Quads hättest, die die FPS runter treiben _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 13.08.2005, 22:19 Titel: |
|
|
Du nutzt doch diese Textur ganz sicher nicht nur für dieses eine Model, oder? oO
Hast du dann nicht 'überall' die Einschusslöcher? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 14.08.2005, 11:28 Titel: |
|
|
Das ist dann wieder ein kleines Problem.
Dann renderst du die Einschusslöcher nicht direkt in die Wandtextur, sondern legst für jede Wand(möglichst große/zusammenhängende Wandstücke benutzen, damits nicht zu viele Texturen werden) eine Textur an, in die die Einschusslöcher dann kommen. Diese Textur kannst du dann mit Multitexturing auf die jeweiligen sichtbaren Wände drauflegen.
Vllt. bietet sich für viele Wände eine Volumentextur an. Die w-Koordinate steht dann für den Index der Wand und so brauchst du nicht ständig die Texturen zu wechseln. (Ist natürlich speicherbelastender)
PS: Evtl. wäre ist es sowieso einfacher, gleich für jede Wand eine eigene Textur zu nutzen. Dann brauchst du den ganzen Multimapping-Verwaltungskram nicht und kannst direkt auf die Textur rendern. Am besten ausprobieren, was am schnellsten ist und was dir/deinem Projekt am besten liegt _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 14.08.2005, 20:55 Titel: |
|
|
The Lord of Programming hat Folgendes geschrieben: | Das ist dann wieder ein kleines Problem.
Dann renderst du die Einschusslöcher nicht direkt in die Wandtextur, sondern legst für jede Wand(möglichst große/zusammenhängende Wandstücke benutzen, damits nicht zu viele Texturen werden) eine Textur an, in die die Einschusslöcher dann kommen. Diese Textur kannst du dann mit Multitexturing auf die jeweiligen sichtbaren Wände drauflegen.
Vllt. bietet sich für viele Wände eine Volumentextur an. Die w-Koordinate steht dann für den Index der Wand und so brauchst du nicht ständig die Texturen zu wechseln. (Ist natürlich speicherbelastender)
PS: Evtl. wäre ist es sowieso einfacher, gleich für jede Wand eine eigene Textur zu nutzen. Dann brauchst du den ganzen Multimapping-Verwaltungskram nicht und kannst direkt auf die Textur rendern. Am besten ausprobieren, was am schnellsten ist und was dir/deinem Projekt am besten liegt |
Kommt auch aufs Programm an, aber wenn du zB ein Quakelevel oder vergleichbare Geometrie kannst du es ganz bestimmt vergessen, für jede Wand eine eigene Textur zu nehmen. |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 14.08.2005, 21:56 Titel: |
|
|
Danke für die vielen Antworten. Ich werde es wahrscheinlich mit texturierten Quads machen.
TLoP, ich glaube das heißt Texture Sub-Loading. |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 15.08.2005, 10:56 Titel: |
|
|
Google mal nach "Decals" und "Z-Bias". Du baust dir am besten einen Manager dafür der Quads mit einer alpha-blended Textur sortiert und verwaltet... die legst du ganz dicht auf die Wände. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
|