PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigene Kolisionsabfrage



SatryX
12.11.2008, 21:16
Hallo Leute.
Ich hab ein Problem. =D
Also, mal angenommen, das hier ist meine Map:
http://similar.si.funpic.de/Kolmap1.bmp

Ist es irgendwie möglich, eine Kolisionsabfrage mittels einer "Kolisionsmap" zu erstellen.

Die Kolisionsmap dazu sieht jetzt z.b. so aus:
(Denkt euch jetzt bitte das braune da weg, das hab ich übersehen :D )
http://similar.si.funpic.de/Kolmap2.bmp

Also das man dem Maker quasi klarmacht, das sich der Held (der dann höchstwarscheinlich per Pixelmovement beweglich ist) nur auf dem Pinken bewegen darf.

Vieleicht hat ja irgendwer ne Idee :)

mfg
SatryX

CapSeb
12.11.2008, 21:43
das braune hab ich übersehen...
:hehe:

Ansonsten: Nein, geht ohne Patchs nicht. Und einen Patch direkt dafür gibt es momentan (noch) nicht (und wird es wohl auch nie geben).
Der Maker hat in Bezug auf Picture sehr eingeschränkte Einstellungs- und Ausgabemöglichkeiten. Wenn man ein Bild anzeigt, entspricht das quasi nur dem Bilderrahmen, ohne dass der Maker weiß, was tatsächlich drin ist. Man kann bei "move picture" noch nicht mal auf die Datei zugreifen, sondern nur auf die Bildnummer, die durch "show picture" entsteht. Aber zumindest da hat Cherry mittlerweile eine Lösung per Patch geliefert. Die Pixelfarben bleiben aber weiterhin ... anonym.

So etwas wie deine Kollisionsmap lässt sich in gewisser Weise über die Terrain-ID bei einer Map nachahmen, d.h. ohne Picture. Screenshottest du dann aber die Map und skalierst sie nach deinen Wünschen (z.B. durch 16 teilen, sodass jedes Kästchen jetzt ein Pixel ist) könntest du von der Terrain-ID der Map auf die Pixel des Pictures schließen.
Weil du das Picture aber wieder für Maps verwenden willst, ist das ganze ziemlich unsinnig. xD ...außer du willst die Umgebung aus Picture erstellen.


http://www.multimediaxis.de/images/smilies/old/s_017.gif CapSeb http://www.multimediaxis.de/images/smilies/old/s_065.gif

R.D.
12.11.2008, 22:02
naja

es ist Möglich, du kannst zum Beispiel, die ganze Ebene als Muster an den Ecken festlegen.

Sprihc zb.

x1->x2
y1->y2

so hättest du dann ne Ebene aufgespannt^^
Befindet sich der Held inner halb dieser Ebene gilt die Bedinung, ist er da nich drin, halt nich^^°

SatryX
12.11.2008, 22:19
Stimmt, das hab ich mir auch gedacht :P
Nur ist es so, das die maps nicht irgnedwelche Leeren flächen sind, sondern ziemlich komplexe formen haben. Naja..
aber das wird wohl trotzdem die einzige Möglichkeit sein, denke ich. Jichu, das wird viel Arbeit -.-

Danke an beide für die Hilfe :)

Kyuu
13.11.2008, 00:08
naja

es ist Möglich, du kannst zum Beispiel, die ganze Ebene als Muster an den Ecken festlegen.

Sprihc zb.

x1->x2
y1->y2

so hättest du dann ne Ebene aufgespannt^^
Befindet sich der Held inner halb dieser Ebene gilt die Bedinung, ist er da nich drin, halt nich^^°

Wenn er sich mit rechteckigen Flächen und damit verbundener Kollisionsungenauigkeit zufrieden gibt, spricht dagegen sicher nichts.
Ansonsten wird er um Point-In-Polygon-Algorithmen nicht herumkommen und dann wird es mit den primitiven Werkzeugen des Makers sehr komplex.
Ob es überhaupt tragbar ist, kann ich jetzt nicht sagen, kommt auf den Grad der Komplexität der Flächen an (und selbst wenn, kann er nicht Flächen wie im Screenshot dargestellt abdecken, muss also seine Ansprüche deutlich heruntersetzen).

R.D.
13.11.2008, 14:27
Wenn er sich mit rechteckigen Flächen und damit verbundener Kollisionsungenauigkeit zufrieden gibt, spricht dagegen sicher nichts.
Ansonsten wird er um Point-In-Polygon-Algorithmen nicht herumkommen und dann wird es mit den primitiven Werkzeugen des Makers sehr komplex.
Ob es überhaupt tragbar ist, kann ich jetzt nicht sagen, kommt auf den Grad der Komplexität der Flächen an (und selbst wenn, kann er nicht Flächen wie im Screenshot dargestellt abdecken, muss also seine Ansprüche deutlich heruntersetzen).

Stimm ich dir auch zu, mit dem maker stell ich es mir, bei weiter Flächen auch kompliziert vor.
Schon bei der Karte, würde meine idee nich genau passen.

@SatryX

wie Kyuu schon sagte, mit dem Maker ist sowas äußerst aufwendig^^
Ich dachte nur, damit hast du erstmal eine Möglichkeit.

SatryX
13.11.2008, 18:28
Ha, ich habe eine Möglichkeit gefunden.
Und zwar mit dem Destenypatch von banana-joe, damit kann man die palette bestimmter Pixel eines bildes abfragen.

mfg

Evu
13.11.2008, 20:58
cherry hat mal n patchaddon gemacht, womit solche kolisionsmaps möglich wurden. Das system findet zb auch bei clouds trauma center fanprojekt verwendung. bei normalem makerstandart wirst allerdings an deine grenzen stoßen

Edit: hmmkey, vllt hätte ich zuerst den letzten post lesen sollen, aber naja, jetzt weisste dass es auch mitm powerpatch funktionieren kann ^^

Cherry
13.11.2008, 21:16
Ja, das System war aber inoffiziell und eigentlich nur für Cloud gedacht; nebenbei auch nicht ausgereift.

Fenrir
19.11.2008, 10:21
Leere Events mit "same level as hero" da draufpacken, wo er nicht hin soll. Fertig.

Glaube aber irgendwie auch, dass ich was falsch verstanden habe...

Evu
19.11.2008, 20:19
so im allgemeinen, kollisionsmaps machen nur bei pixelmovement oder bahnenberechnungen sinn, was auch irgendwie logisch ist, dass es auf sowas ausgelegt sein muss, da seine map in einer schrägperspektive (ähnlich der iso-perspektive) gepixelt wurde. ich glaube man kann leuten zutrauen, dass solche eine eckwegbegrenzung durch events schon in betracht gezogen aber nicht als optimal angesehen wurde.
Auf dem bereich Pixelmovement und kollisionsabfrage hat der maker übrigens noch einiges an möglichkeiten offen, vorallem mit dem patchwirrwarr, den wir momentan haben. das könnten auch die ersten schritte in richtung eines annehmbaren pathfinding scripts werden