JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=04c12729bdde417b37e5530015c58197Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Einschusslöcher

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
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

BeitragVerfasst am: 13.08.2005, 17:30    Titel: Einschusslöcher Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 13.08.2005, 17:36    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.08.2005, 17:39    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 13.08.2005, 22:58    Titel: Antworten mit Zitat

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 Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 37
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 13.08.2005, 23:19    Titel: Antworten mit Zitat

Du nutzt doch diese Textur ganz sicher nicht nur für dieses eine Model, oder? oO
Hast du dann nicht 'überall' die Einschusslöcher? Question Question
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 14.08.2005, 12:28    Titel: Antworten mit Zitat

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) Wink


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 Cool
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 14.08.2005, 21:55    Titel: Antworten mit Zitat

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) Wink


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 Cool

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
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 14.08.2005, 22:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 15.08.2005, 11:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum