Kamera am boden halten ???

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Raptor

Betreff: Kamera am boden halten ???

BeitragDi, Mai 24, 2005 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, hab ein Problem, und zwar kann ich jetzt mit kamera quer durch die gegend fliegen.

Wie kann ich über den Boden laufen und trotzdem nach unten bzw. nach oben schauen ?

Code: [AUSKLAPPEN]

If kamara_ansicht=1 Then
CameraProjMode camera,0 ;ausschalten
CameraProjMode ego_cam,1 ;einschalten

For m.Fahrzeuge = Each Fahrzeuge

If m\Spieler_id% = MeineSpieler_ID% Then
If m\Objekt_id% = Ausgewaehlte_Einheiten%(1,0)Then

EntityParent ego_cam,m\Objekt_id%,0

;---- manuelle Bewegung der Einheit

mxspd=MouseXSpeed()*0.2
myspd=MouseYSpeed()*0.2
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch=campitch+myspd
camyaw=camyaw-mxspd
If campitch<-89 Then campitch=-89
If campitch>89 Then campitch=89

RotateEntity m\Objekt_id%,campitch,camyaw,0

If KeyDown(203) camvx#=camvx#-0.05 ElseIf KeyDown(205) camvx#=camvx#+0.5
If KeyDown(208) camvz#=camvz#-0.05 ElseIf KeyDown(200) camvz#=camvz#+0.5


camvx#=camvx#/1.05
camvz#=camvz#/1.05

MoveEntity m\Objekt_id%,camvx#,0,camvz#
 


Kann mir jemand helfen ?

Danke

Bob

BeitragDi, Mai 24, 2005 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich würde es so machen das ich die Camera als Child eines Pivot erstelle.

Piv = createPivot()
Cam = CraeteCamera(piv)

Wenn du dich Umsehen willst, veränderest du nur die Rotations Koordinaten der Kamera Yaw,Pitch,Roll
Bei Bewegungen, bewegst du ausschlieslich den Pivot.
Gibt noch jede menge andere Methoden. So kannst du aber besser zwischen Riotation und bewegung unterscheiden.
 

GrrBrr

BeitragDi, Mai 24, 2005 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
die einfachste methode wäre die position (nicht die ausrichtung) der kamera bei jedem durchlauf auf bodenposition zu setzten.

also quasi:

PositionEntity camera, EntityX(camera) , 10 , EntityZ(camera)

in dem Beispiel ist die Höhe 10... ist unschön aber gut für testzwecke klappt natürlich nur, wenn dein boden flach ist... ansonsten würde ich auch die pivotgeschichte machen und deinen pivot jeden durchlauf ein bisschen nach unten bewegen ausser er kollidiert mit dem untergrund.

wenn du dann noch die geschwindigkeit mit der er nach unten kommt exponential erhöhst, je länger er in der luft hängt bevor er kollidiert dann hast du fast schon eine kleine physikengine für deinen "charakter"
wobei ich jetzt gerne das wort "fast" im vorigen satz rot und gewellt unterstreichen möchte... und ein paar rote fragzeichen gehören über das wort "physikengine"...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group