Hallo
Ich versuche im Moment mein 2D Spiel in 3D umzusetzen.
Mein erstes Problem ist die Collisionsüberprüfung. Ich benutze eine Tile map nach der Die Karte erstellt wird was auch funktioniert. Wenn ich für feste Hindernise als EntityPhysicBody #PB_Entity_StaticBody wähle exestiert ja der bug das man sie nicht mit NextWorldCollision() abrufen kann. Wenn ich jetzt aber #PB_Entity_BoxBody wähle dann verschiebt sich das Hindernis bei einer Collision. Außerdem muss ich die WorldGravity auf 0 setzen damit meine Hindernise nicht herunterfallen, was unnatürliches abprallen des Spieler Entitys zur folge hat.
Was mich zu meinem Zweiten Problem bringt, denn jetzt muss ich einen Spalt zwichen den einzelnen Hindernissen lassen damit sie nicht mit untereinander collidieren. Was natürlich blöd aussieht wenn mehrere Hindernisse eine Wand bilden. Was ich jetzt gern wüsste ist was ist die kleinste maseinheit in 3d in 2d war es ein pixel. aber in 3d scheint es das nicht zu geben da ich beliebig viele komma stellen angeben kann.
Ich hoffe ihr könnt mir helfen
3D Collision
3D Collision
PureBasic 4.51
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: 3D Collision
Ich versuche auch seit längerer Zeit mit Ogre in Purebasic klarzukommen.
Aber es klappt irgendwie nicht so, wie das Ogre es eigentlich machen soll.
Da ich auch beides nutzen möchte "Opengl" und "Directx", möchte ich nicht wechseln.
Hier hat ein Mensch mal etwas vernünftiges vollbracht mit der Ogre-Einbindung in Purebasic.
Er ist sehr fleissig und baut es noch aus:
http://www.triskell3d.com/page.php?2
Hier ist auch sein Forum:
http://www.triskell3d.com/_forum/index.php
Er beantwortet auch die Fragen correkt und hilft auch wunderbar.
Ich glaube , das Warten lohnt sich.
Aber es klappt irgendwie nicht so, wie das Ogre es eigentlich machen soll.
Da ich auch beides nutzen möchte "Opengl" und "Directx", möchte ich nicht wechseln.
Hier hat ein Mensch mal etwas vernünftiges vollbracht mit der Ogre-Einbindung in Purebasic.
Er ist sehr fleissig und baut es noch aus:
http://www.triskell3d.com/page.php?2
Hier ist auch sein Forum:
http://www.triskell3d.com/_forum/index.php
Er beantwortet auch die Fragen correkt und hilft auch wunderbar.
Ich glaube , das Warten lohnt sich.
Re: 3D Collision
Ja sieht interessant aus.
Auch wenn mann ein paar kleinigkeiten ändern könnte. z.B. muss man ja die Tastaturabfrage über OIS_KeyDown() machen und nicht KeyboardPushed() weil kein "PB Screen" geöffnet wurde.
Und ich nehme jetzt mal an das man mein Problem nicht lösen kann. Ohne auf eine lib zuzugreifen.
Auch wenn mann ein paar kleinigkeiten ändern könnte. z.B. muss man ja die Tastaturabfrage über OIS_KeyDown() machen und nicht KeyboardPushed() weil kein "PB Screen" geöffnet wurde.
Und ich nehme jetzt mal an das man mein Problem nicht lösen kann. Ohne auf eine lib zuzugreifen.
PureBasic 4.51
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: 3D Collision
Das geht auch normal mit den Befehlen.OIS_KeyDown() machen und nicht KeyboardPushed()
Und den 3D-Screen in ein Gadget darstellen, macht er heute Abend noch.
Wenn du die Hilfe mal durchschaust, siehst du auch das deine Collisionsabfrage usw geklärt ist.
Re: 3D Collision
Ja ich bin gerade dabei mein programm mit triskell3D neu zu schreiben.
Und klar funktioniert OIS_KeyDown() genau so wie KeyboardPushed() vorher. Es ist halt nur eine änderung die mir aufgefallen ist. Stören tut es mich jetzt nicht wirklich.
Und klar funktioniert OIS_KeyDown() genau so wie KeyboardPushed() vorher. Es ist halt nur eine änderung die mir aufgefallen ist. Stören tut es mich jetzt nicht wirklich.
Klingt auch interessant. Na ich programmiere dann mal weiter.Und den 3D-Screen in ein Gadget darstellen
PureBasic 4.51
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: 3D Collision
hat er gerade in sein forum reingestellt , dieses programmschnitzel 3D in einem Gadget :
Code: Alles auswählen
EnableExplicit
IncludeFile "Triskell3D.pbi"
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Container_0
EndEnumeration
Global event.l
InitSprite()
OpenWindow(0, 0, 0, 800,600, "Screen", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ContainerGadget(#Container_0, 300, 20, 400,400)
_OpenScreen(#DRIVER_OPENGL, "name", 400,400, 32, 0, 60, 1, GadgetID(#Container_0))
_AddResourceLocation("media/models", #FILE_SYSTEM, "global") ; models
_AddResourceLocation("media/materials/textures", #FILE_SYSTEM, "global" ) ; texture
_AddResourceLocation("media/materials/programs", #FILE_SYSTEM, "global") ; program, shaders
_AddResourceLocation("media/materials/scripts", #FILE_SYSTEM, "global") ; material script
_InitAllResources()
Global *Entity.TEntity = _LoadEntity("ogrehead.mesh")
_PositionNode(*Entity, 0,0,-128)
Global *mcamera.TCamera = _CreateCamera()
_CameraBackColor(*mcamera, $00ffff)
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
_TurnNode(*Entity, 0,0.2,0)
_RenderWorld()
_FlipBuffers()
ForEver
_CloseScreen()
_FreeEngine()
End
Re: 3D Collision
Ja habe ich gesehn.
Wenn du in dem Forum im Bereich Bugs nach siehst wirst du sehen das ich auch nicht ganz untätig war.
Und auch wenn es gut gemeint ist musst du hier nicht mehr alles posten ich halte mich jetzt selbst auf dem laufenden.
Aber danke für die informationen
Mfg °°°
Wenn du in dem Forum im Bereich Bugs nach siehst wirst du sehen das ich auch nicht ganz untätig war.
Und auch wenn es gut gemeint ist musst du hier nicht mehr alles posten ich halte mich jetzt selbst auf dem laufenden.
Aber danke für die informationen
Mfg °°°
PureBasic 4.51
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477