camera und collision

Übersicht BlitzBasic Blitz3D

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

StepTiger

BeitragSa, Aug 26, 2006 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
und die cam lässt du garnicht kollidieren sondern nur das objekt
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 Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

chi

BeitragSa, Aug 26, 2006 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
DANKE LEUTE!!! irgendwie hab ichs durch eure hilfe geschafft die richtige richtung einzuschlagen Wink
das problem war, dass ich TranslateEntity nicht in den loop geschrieben habe
Code: [AUSKLAPPEN]

player=Createpivot()
 PositionEntity player,0,1.5,-3
 EntityRadius player,.2,1
 EntityType player,1

camera=CreateCamera(player)
 CameraRange camera,.1,200
 cameraclscolor camera,250,250,245

;.... loop.......
 TranslateEntity camera, 0, 0.5, 0
 updateworld
 renderworld
 ...

danke für eure bemühungen!, chi
 

Dreamora

BeitragSa, Aug 26, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das darfst du auch nicht.

Du musst nach der erstellung nur noch den Player bewegen, die Cam nimmer anrühren. Die wird wegen des parent player ihre relative position zum player danach aufrecht erhalten. (du machst nicht eventuell den fehler, dass du die cam von der physik bewegen lässt oder so?)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

chi

BeitragSa, Aug 26, 2006 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bewege auch nur mehr den player... und die fakegravity moveentity(steht auch im loop) bezieht sich auch nur auf den player. wenn ich translateEntity nicht in den loop schreibe, passiert bei mir gar nix - egal welchen wert ich eintrage!

is es nicht so gut TranslateEntity in den loop zu schreiben?

thx, chi

NightPhoenix

BeitragSa, Okt 21, 2006 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok... Also ich hätte da villeicht ne andere Lösung für dein Problem: Wink

Mach doch einfach einen Pivot mit einem extrem kleinen Radius sodass er nur ganz nah am Boden entlang läuft. Die Kamera setzt du einfach als Child vom Pivot [also: CreatePivot(Kamera)]. Jetzt macht die Kamera alles was der Pivot macht. Die Kamera bleibt ohne Radius sodass du bei Türen usw. keine Probleme bekommst. Wenn du Stellen hast wo deine Spielfigur mit dem Kopf doch anstoßen könnte machst du auch einen minimalen Radius an die Kamera.
Du bewegst ab jetzt nur noch den Pivot mit den Steuerungstasten und die Kamera macht genau das selbe. Nur das Umschauen der Spielfigur sollte auf die Kamera gelegt werden.
Genau so macht das jedes Spiel mit 1st Person. Bei Verfolgungsperspektive und einem Mesh prüft man dann auf Polygone.


Beispiel:
Code: [AUSKLAPPEN]

Pivo=CreatePivot()
Kamera=CreateCamera(Pivo)
EntityRadius Pivo,0.1
PositionEntity Pivo,0,0.1,0
PositionEntity Kamera,0,1.6,0
....
....
In die While Schleife:
MoveEntity Pivo,0,-0.02,0 ;Gravitation

Und die Umschaufunktion mit der Kamera per Maus.


Beache aber dass der Pivot sich bei der X-Bewegung der Maus drehen muss, nicht die Kamera, damit die Laufrichtung richtig bleibt, sonst schaust du irgendwann mal nach hinten läufst aber noch nach vorne.

Hoffe ich konnte dir helfen =)

MfG. NightPhoenix
 

chi

BeitragSa, Okt 28, 2006 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hey danke NightPhoenix... hab erst jetzt mitbekommen, daß du gepostet hast.
mit deinem code funktionierts tadellos Wink thx



cheers, chi

NightPhoenix

BeitragSa, Okt 28, 2006 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
In meinem Code war was falsch, da ich den aus dem Kopf ohne zu testen geschrieben habe... Hier mal meine Variante aus einem Game von mir:


Code: [AUSKLAPPEN]
Hauptschleife:

Grav=CreatePivot()

Feat=CreatePivot(Grav)
PositionEntity Feat,0,1,0
EntityRadius Feat,0.5
EntityType Feat,1


cam1=CreateCamera(Feat)
;Die Kamera hat als Parent den Pivot (Feat=Füße)
;Der Pivot der Füße hat als Parent den Pivot für die Gravitation...


While-Schleife:

Collisions 1,2,2,3;Polygon-Kollision zwischen Typ 1 und 2

; Maussteuerung   
      RotateEntity Feat,0,EntityYaw(Feat)-MouseXSpeed(),0
      RotateEntity cam1,EntityPitch(cam1)+MouseYSpeed(),0,0
      MoveMouse 300,300


MoveEntity Grav,0,-0.4,0 ;Fake-Gravitation


MfG. NightPhoenix


P.S.:
Aktiviere doch in deinem Profil die E-Mail Benachrichtigung bei neuen Posts in deinem Thema... Wink Dann merkst du schneller wenn dir geholfen wurde

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group