Sprite-Mesh Kollision nur mit Tricks?
Übersicht

MrJackBetreff: Sprite-Mesh Kollision nur mit Tricks? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So hier meine Frage...
Gibt es in bb direkt eine Lösung ein Sprite-Mesh Kollision abzufragen? Bei Mir ist das Raumschiff nen Sprite und Die Station ein Model. Allerdings würde mir keine Spheren oder Box Kollision reichen. Also muss es schon "Pixelgenau" Sein. Mir würde als Trick nur das 3DModel Auf der Ebene des Schiffes in 2D zu rendern und Dann Als Bilder Kollidieren zu lassen einfallen. Nur Ist BlitzBasic ja mit Dem Alphawerten nicht wirklich gut... ![]() Oder kennt jemand eine Externe kostenlose Sprite Engine die so etwas kann? |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine pixelgenaue Kollisionsabfrage geht nur mit Images und mit Sprites nur bei BMax. Falls es dir was nützt. Man kann auch mehrere EntityRadius an einem Sprite packen und sich danach richten. Hier ein Beispiel meines aktuellen Spieles mit drei Kollisionsradien.
http://info.frettchenwelt.at/u...st24_1.jpg *schnell, bevor es vom Server genommen wird* |
||
MrJack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gibt es denn keine Externe SpriteEngine die man verwenden kann? | ||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
kopiere das bild des sprites mal am anfang nach pixel 1,1 und dann liest du alles mit readpixelfast ein
wenn der wert über 0 ist, es also nicht transparent ist, dann wird ein vertex erstellt Und dann verbindest du einfach alle zu jedem anderem und machst das ganze unsichtbar! Und dann brauchst du noch eine polygon zu polygon collision! Wird sicher ne tolle arbeit *lol* |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
MrJack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok hat jemand ne realistische lösung ? ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
geh auf blitzbasic.com in die toolbox und such nach nsprite 2 | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier ist ein Auszug aus meinem Spiel (mesh(41) ist das Schiff aus http://info.frettchenwelt.at/u...st24_1.jpg):
Code: [AUSKLAPPEN] ;Schiff
EntityShininess mesh(41),1 spz1=CreatePivot() spz2=CreatePivot() spz3=CreatePivot() PositionEntity spz1,+1.31,0,0 PositionEntity spz2,-.6,-.78,0 PositionEntity spz3,-.6,.78,0 EntityParent spz1,mesh(41),0 EntityParent spz2,mesh(41),0 EntityParent spz3,mesh(41),0 EntityRadius spz1,.2 EntityRadius spz2,.2 EntityRadius spz3,.2 EntityType spz1,1 EntityType spz2,1 EntityType spz3,1 ShowEntity mesh(41) Funktioniert wunderbar. Jeder Eckpunkt hat sein EntityRadius. Mit ql:CollisionNX /NY /NZ lässt sich der Auftreffwinkel bestimmen, wenn man das Raumschiff 'abbrallen' lassen will. Ansonsten geht eventuell auch die Methode von StepTiger, nur ob eine so hohe Auflösung notwendig ist? Man könnte das Schiff dann etwas gröber eingrenzen. Allerdings bin ich mir nicht sicher ob überhaupt eine Polygon zu Polygon -Kollision geht, so wie du dir das wünscht? /EDIT: Coole Sache die nsprite 2 -Demo (habs mir grad mal angeschaut). Für 20$ ist es nichtmal so teuer. |
||
MrJack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für eure Antworten, habe mich dennoch für npoy entschieden...
Das ist genau das was ich Suche und FREE! |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Regel werden bei den meisten Spielen in solchen Situationen überhaupt keine Pixelkollisionen, sondern nur Radius- oder Rect-Kollisionen gebprüft -und das reicht eigentlich auch. Damit das nicht "auffällt", gibt man den Sprites (also z.B. dem Raumschiff) ein Aussehen, das entweder rund ist oder "eckig", also das gesamte Sprite recht gut ausfüllt. Wenn das Schiff relativ symmetrisch ist und nicht viel "freier Raum" in der Grafik vorhanden ist, sind dann auch einfache Kollisionsabfragen brauchbar.
Darum sehen z.B. bei den alten Plattformspielen die Charaktere immer so zwergenmässig "quadratisch" aus ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oder man nimmt polygonbasierte Kollision + SAT.
Pixelperfekt wird eigentlich nie gebraucht, ist jedoch bei animerten Sprites je nach Komplexität einfacher durchzuführen (von den Transformationen her) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group