Kolisionsabfrage mit sprite3d?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, dann gibt es im grunde nur zwei möglichkeiten:

1) die bounding-circle-routine einbauen
(ich glaub, dazu mache ich bei gelegenheit mal procs, kann man immer brauchen)

2) 8/12/16...oder wieviel rotationsphasen einzeln rendern, also wie animationsframes als mehrere sprites einbauen
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Zum eigenständigen drehen, schaut doch mal im Codearchive von www.purearea.net nach ... da lässt sich was finden, allerdings unter Graphis - > Drawingbuffer -> Drawingbuffer.pb -> [direkt Download hier]

^^das könnte man eventuell dafür benutzten, scheint aber auch nicht so sonderlich schnell zu sein, aber das könnte man vielleicht dafür benutzten, um passende "Normale"-Sprites zu erzeugen ... je nach dem, wie genau das ganze nun wirklich sein muss. ...

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, das bespiel ist ja ganz nett, aber imho müsste man das in reinem ASM proggen, damit es was bringt.

wenn ich das richtig sehe, wird hier ein 128x128 array gedreht und punktweise geplottet.
halte ich für extrem zeitintensiv.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Hm, man könnte auch sich das zeichnen Sparen, und einfach die Ergebnisse des Umrechnens benutzen. Das wäre dann eine eigene Kolisionsüberprüfung, aber als ASM und vielleicht sogar dann, wenns schnell genug könnte man daraus ne Userlib machen, was dnan allen zugute kommt.

^^wenn das ganze auch wirklich schnell genug ist.

Übergeben werden müssten dann die selben Werte wie bei den PB Befehlen auch. Das könnte klappen ... aber dann kommt das Problem ... wer macht so was? /:-> ...
naja, erst mal müsste geklärt werden, ob das überhaupt sinnvoll wäre ... testen kann ich das nicht :cry:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Leider hab ich keine Ahnung von ASM, sonst würd ichs machen...
Aber den Userlib wär echt cool!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also vom aufwand her, würde ich da echt die bounding-circle-methode vorziehen.

da gabs mal das gegenargument: wenn die sprites viel breiter als hoch sind - so in dem sinne

auch eine elliptische abfrage, sogar gedreht, sollte nicht soooo das problem sein.

mal sehen, wann ich mich damit auseinandersetzen kann.
muss aber erstmal meine HP fitmachen, dass man zumindest was runterladen kann.
und beim winter-contest wollte ich eigentlich auch mitmachen.
und serge will bestimmt auch mal 'n beispiel für meine grafix sehen, von wegen 'darkmatter'-grafiker
und, und, und...
argl :freak:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

auch eine elliptische abfrage, sogar gedreht, sollte nicht soooo das problem sein.
^^je nach dem wäre dann auch ein Rechteck sinnvoll :D

Wenns nicht Pixelgenau sein muss/soll, reicht diese methode ja natürlich volkommen, aber wenn doch ... :wink: ....

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

rechteck: muss man sehen, was einfacher zu proggen ist, ein gedrehtes rechteck, oder ne gedrehte ellipse.

es muss selten wirklich pixelgenau sein.

in dem alten thread kam die bemerkung, dass man ja auch mehrere circles pro sprite nehmen könnte.

je nachdem kommt das der sache sogar entgegen. bei nem 1942-clone beispielsweise könnte man so unterscheiden, ob die triebwerke oder der rumpf eines fetten B17-Gegners getroffen wurde.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
estate
Beiträge: 110
Registriert: 10.09.2004 08:53
Wohnort: nähe Graz
Kontaktdaten:

Beitrag von estate »

Mann könnte auch nur die normalen sprites in arrays einlesen,
und mit einer Routine in Vektorform darstellen, die informationen über die Farbe sind im Array gespeichert, die Ausgangspositon der Punkte entnimmt man aus der Position im Array.

Punkte mit Hilfe der Vektorrechnung zu drehen dürfte für niemanden ein großes Problem darstellen.

Versteht ihr was ich meine?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ja, klar. bloss dürfte eben das ganze so rechenintensiv sein, das es reines ASM sein muss, um sich zu rentieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten