kollision mit Boundig Boxen
-
Pixelgenaue Kollision ist doch ehh beknackt. Oder kannst du dafür sorgen, das sich jeweils nur 1 Sprite um 1 Pixel bewegt? Sonst ist nix mit pixelgenau. f'`8k
AutocogitoGruß, TGGC (\-/ has leading)
-
TGGC schrieb:
Pixelgenaue Kollision ist doch ehh beknackt. Oder kannst du dafür sorgen, das sich jeweils nur 1 Sprite um 1 Pixel bewegt? Sonst ist nix mit pixelgenau. f'`8k
Warum sollten sich die Sprites nur um einen Pixel bewegen dürfen?
-
Nein, tun sie nicht, aber sie bewegen sich in den meissten Fällen um reelle Zahleneinheiten. Also z.B. 2.3 Pixel. Auf dem Bildschirm etc...ist das per SubPixel realisiert.
Um nicht zuviel scheisse zu reden:
Deine Grafik sollte von der Logik unabhängig sein. Die Darstellung ändert sich, dadurch sollte sich aber nicht das verhalten ändern !
Nimm also einfach ein Kollisionsmesh und rechne damit.
-
was so ein Kollisionsmesh ist muss ich noch herrausfinden, für mich scheint aber die Sache mit den Quadtrees gut geeignet zu sein.
Danke für eure anregungen
muli
-
Ein Kollisionsmesh ist einfach ein Mesh der weniger Polygone enthält aber noch einigermaßen genau genug ist um die Form des Originals anzunähern.
Ich denke, dass es klar ist, dass man diesen für den Kollisionstest verwendet..
-
Das mit den Quadtrees macht man natürlich auch. Trotzdem brauchst du ja einen Algo um auf Kollision zu testen. Also nimmst du dir halt einfach ein modell was ungefähr so aussieht wie dein Pixelmensch und testest damit. Den Quadtree kannst du übrigens auch erst später einbaun. Bei 2D sollten das 3 Zeilen sein

-
the-coder schrieb:
TGGC schrieb:
Pixelgenaue Kollision ist doch ehh beknackt. Oder kannst du dafür sorgen, das sich jeweils nur 1 Sprite um 1 Pixel bewegt? Sonst ist nix mit pixelgenau. f'`8k
Warum sollten sich die Sprites nur um einen Pixel bewegen dürfen?
Weil es dann nicht pixelgenau ist. f'`8k
AutocogitoGruß, TGGC (\-/ has leading)
-
ChaosAngel schrieb:
Nimm also einfach ein Kollisionsmesh und rechne damit.
Hallo? Der Meister arbeitet in 2D!! Und natürlich kann er da eine Pixelgenaue Kollisionserkennung machen.
Tipp: Nimm als initialen Kollisionstest einfach zwei Kreise, Und mach dann einen pixelgenauen Test (bitwise AND), falls sich die Kreise schneiden.
Gruss, Gast
-
an Gast25250: Recht hast du.
Ich nehme aber keine Kreise sondern Rechtecke.naja egal
wenn diese sich überschneiden müsste ich dann am besten die Schnittfläche ausrechnen um nicht immer für alle Pixel zu prüfen sondern nur die in der überschnittenen Fläche, ODER ist das auwendiger als alle Pixel zu prüfen?danke an alle und diskutiert ruhig weiter...
Ich sauge aufmerksam all euer Wissen ab.
bis ich eines Tages...
muli
-
hi
ich denke das könnte dir weiterhelfen
http://uk.geocities.com/olivier_rebellion/Polycolly.zip
meiner meinung nach das beste kollisionssystem überhaupt.Gruss Tony