camera und collision
Übersicht

![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
chi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DANKE LEUTE!!! irgendwie hab ichs durch eure hilfe geschafft die richtige richtung einzuschlagen ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok... Also ich hätte da villeicht ne andere Lösung für dein Problem: ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey danke NightPhoenix... hab erst jetzt mitbekommen, daß du gepostet hast.
mit deinem code funktionierts tadellos ![]() cheers, chi |
||
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
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... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group