Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
fowly JLI'ler

Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
Verfasst am: 04.02.2004, 16:39 Titel: Pixelgenaue Kollisionserkennung |
|
|
Hi,
ich habe jetzt das Beispiel aus Kapitel 25 zu pixelgenauer Kollisionserkennung ausprobiert und auch gleich eine Frage... Wie lässt sich die Rotation miteinbeziehen? |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 04.02.2004, 19:17 Titel: |
|
|
ich weiß jetzt nicht mehr ganz genau wie das im Buch gelöst worden ist aber ansonsten:
blitte dein Sprite, das rotiert ist auf eine Surface und dann wende die pixelgenaue kollisionserkennung an  _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
fowly JLI'ler

Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
Verfasst am: 07.02.2004, 17:36 Titel: |
|
|
mhm... wie blittet man den ein Sprite in ein Surface? mit StretchRect? Und wird die Rotation dann auch mit beachtet? |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 07.02.2004, 22:23 Titel: |
|
|
man macht das genauso wie man das auf den Backbuffer blittet und da wird ja auch schließlich die Rotierung beachtet... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 07.02.2004, 23:00 Titel: |
|
|
Nein, so einfach ist es nicht, wenn die Rotation mit ins Spiel kommt. Da kann man die vorgestellt Methode nicht anwenden.
Einie Idee wäre die Sprites in verschiedenen Farben oder mit unterschiedlichen Alphawerten vorzuhalten und dann im Hauptspeicher in einen Puffer zu kopieren. Danach könnte man testen, ob sich der Farbwert /Alphawert an einer Stelle geändert hat...
C. |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 39 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 08.02.2004, 11:15 Titel: |
|
|
Ich könnte dir als Alternative dazu Convex Meshes empfehlen.
Das ganze funktioneirt halt nicht so genau wie pixelgenaue Kollisionserkennung, aber IMHO imemr noch genau genug und auch recht fix. |
|
Nach oben |
|
 |
fowly JLI'ler

Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
Verfasst am: 08.02.2004, 11:19 Titel: |
|
|
was sind convex meshes? |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 39 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 08.02.2004, 13:26 Titel: |
|
|
Rein Programmeirtechnisch sind Convex Meshes nur eine ansammlung von Punkten. Praktisch die eckpunkte deines Bildes.
Code: |
X--------------X
| \
| \
| \
X------X X
\ /
\ /
X-----X
|
So könnte ein Convex Mesh aussehen. (ich hoffe der Code Tag lässt die leerzeichen da wo sie sind)
du musst dann nur überprüfen, ob ein punkt innerhalb dieses meshes steckt, dann hast du eine kollision. (ich würde nur vorher eine kreis kollisionserkennung machen. zur optimeirung) |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 08.02.2004, 13:33 Titel: |
|
|
Bei so einem Mesh vielleicht sogar eine Bounding Box, damit wärs noch enger eingeschlossen. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
fowly JLI'ler

Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
Verfasst am: 08.02.2004, 16:18 Titel: |
|
|
Christian Rousselle hat Folgendes geschrieben: | Einie Idee wäre die Sprites in verschiedenen Farben oder mit unterschiedlichen Alphawerten vorzuhalten und dann im Hauptspeicher in einen Puffer zu kopieren. Danach könnte man testen, ob sich der Farbwert /Alphawert an einer Stelle geändert hat...
|
Hmm.... leider bin ich wirklich noch nicht so gut, und verstehe deshalb wirklich nicht was sie meinen. könnten sie dazu einen code posten? am besten mit vielen kommentaren? dann könnte ich besser nachvollziehen was sie meinen... |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 39 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 09.02.2004, 14:49 Titel: |
|
|
Hazel hat Folgendes geschrieben: | Bei so einem Mesh vielleicht sogar eine Bounding Box, damit wärs noch enger eingeschlossen. |
oder alle drei. Also Zuerst Kreis überprüfen, dann Axis Aligned rect und dann den Convex Mesh.
Das würde ich vom Fall abhängig machen. |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 09.02.2004, 15:01 Titel: |
|
|
Warum nur Konvexe Objekte Konkave wären doch genauso gut möglich. _________________ "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 |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 09.02.2004, 16:26 Titel: |
|
|
Ich wundere mich auch gerade warum die dinger convex Meshes heißen.
Denn Xardias hat eine concave Figur skizziert. |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 09.02.2004, 19:36 Titel: |
|
|
Kampfhund hat Folgendes geschrieben: | Ich wundere mich auch gerade warum die dinger convex Meshes heißen.
Denn Xardias hat eine concave Figur skizziert. |
ich würde aber sagen, dass die Abbildung konvex ist.
Konkav wäre meiner Meinung nach das hier:
Code: |
X--------------X
| /
| /
| /
X------X X
\ \
\ \
X-----X
|
_________________ The source of all power is in its destiny...
Zuletzt bearbeitet von TheMillenium am 09.02.2004, 19:40, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 09.02.2004, 19:39 Titel: |
|
|
Unten links geht es aber ins Objekt hinein daher könnte das schon konkav gelten  _________________ "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 |
|
 |
|