Problem mit Gravitation

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Björn

Betreff: Problem mit Gravitation

BeitragSa, März 05, 2005 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe ein 3D-Spiel, in dem man sich über ein ebenes Terrain bewegt.
Bis jetzt hatte ich die Erdanziehung immer so gelöst:
Code: [AUSKLAPPEN]
PositionEntity(camera,EntityX(camera),5,EntityZ(camera)

Weil es gab keine Rampen usw.
Solche möchte ich jetzt aber einbauen.
Deshalb habe ich den Code geändert:
Code: [AUSKLAPPEN]
TranslateEntity camera,0,-1,0

Das Problem jetzt ist nur, dass man quasi auf dem Boden klebt, also zu nah am Boden ist. Da habe ich Den EntityRadius der Kamera geändert:
Code: [AUSKLAPPEN]
EntityRadius camera,2,5

Nur jetzt kommt man durch keine Tür durch Very Happy außer diese ist doppelt so groß wie man selbst.
=> Wie kann ich es hinbekommen, dass man auf einer bestimmten höhe "schwebt" wie zuerst, aber trotzdem Rampen hochgehen kann?
Schönes WE,
Björn
www.brickmovies.de

Björn

BeitragSa, März 05, 2005 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

das Problem ist klar?

Björn
www.brickmovies.de
 

Darren

BeitragSa, März 05, 2005 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt noch eine anderen befehl der so ähnlich wie entityradius funktioniert und zwar entitybox dazu musst du aber bei collisions auf quader-polygon kollision anstatt kugel-polygon umstellen.
MFG Darren

stfighter01

BeitragSa, März 05, 2005 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst auch eine art "körper" formen, indem du zu deiner camera ein pivot dazuhängst und diesem auch einen collisionsradius und eine collisionsidentität gibst.
Denken hilft!

Björn

BeitragSo, März 06, 2005 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
erstmal danke für die Antworten!
Ich habe jetzt folgendes:
Code: [AUSKLAPPEN]
pivot = CreatePivot(camera)
EntityRadius pivot,2,5
EntityType pivot,1

Und
Code: [AUSKLAPPEN]
Collisions 1,2,2,2

Wobei das Terrain und die Objekte alle EntityType 2 haben.
Es zeigt sich jedoch keine Änderung.
Fehlt etwas in meinem Code?
Grüße,
Björn
www.brickmovies.de

Björn

BeitragSo, März 06, 2005 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

gibts keine andere Möglichkeit?
Habe beide Varianten probiert kriege aber keine lauffähig.

Björn
www.brickmovies.de
 

Belekamus

BeitragMo, Nov 28, 2005 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

habe das gleiche problem wie björn, will nicht entityradius nehmen, wegen türen etc.
daher versuche ich es mit entitybox, doch es kommt nicht zur kollision, ich habe probiert collisons auf method 3 (also Kugel-Würfel-Kollision) umzustellen, aber ich brauche ja eigentlich würfel-polygon-kollision.....

hoffe mir kann jemand helfen

BlitzBasic: [AUSKLAPPEN]
Graphics3D 1024,768,32,1
SetBuffer BackBuffer()

Global kamera,spieler,level
Global licht=CreateLight(1)
Global cursor=LoadImage(\"cursor.bmp\")
Global fps#,oldmillisecs#,timer#

spieler=LoadMesh(\"spieler.3ds\")
EntityType spieler,1
PositionEntity spieler,5,7,5
;EntityRadius spieler,.1
EntityBox spieler,-MeshWidth(spieler)/2.0,-MeshHeight(spieler)/10.0,-MeshDepth(spieler)/2.0,MeshWidth(spieler),MeshHeight(spieler),MeshDepth(spieler)

kamera=CreateCamera(spieler)
EntityType kamera,2
MoveEntity kamera,0,5,-10
EntityRadius kamera,.1
CameraRange kamera,0.001,1000

level=LoadMesh(\"deathm.b3d\")
EntityType level,3
ScaleEntity level, 5,5,5

RotateEntity licht,90,0,0
EntityParent kamera,spieler

Repeat

Cls

;Collisions 1,3,2,2
Collisions 1,3,3,2
Collisions 2,3,2,2

gravitation
steuerung
frames

UpdateWorld
RenderWorld

cursor
Text 0,0,\"FPS: \"+fps#

Flip

Until KeyHit(1)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group