[B3D] Kamera zu tief
Übersicht

![]() |
N0XBetreff: [B3D] Kamera zu tief |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich habe eine Kamera mit Schwerkraft. Durch die Schwerkraft liegt sie ganz unten auf dem Boden, allerdings soll sie etwas über dem Boden stehen bleiben. Sorry, für so eine Noob-Frage, aber wie krieg ich das hin das meine Kamera nicht zu tief liegt? Hier ein bisschen Code: [AUSKLAPPEN] Const PLYTYPE=2,TERTYPE=1
Global pVy# Global pivot = CreatePivot() Global cam = CreateCamera(pivot) Global map = LoadMesh("models\maps\de_inferno.3ds") Global weap = LoadMesh("models\weapons\glock.3ds",cam) EntityType cam,PLYTYPE EntityType map,TERTYPE Collisions PLYTYPE,TERTYPE,2,2 While Not KeyHit(1) move() UpdateWorld() RenderWorld() Flip Wend End Function move() If KeyDown(57) And pVy = 0 Then pVy = 3.5 If EntityCollided(cam,TERTYPE) Then pVy = 0 Else pVy = (pVy - 0.25) / 0.999 PositionEntity cam,EntityX(cam),EntityY(cam)+pVy,EntityZ(cam) End If End Function Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] minimalerWert = 100 ;Nur als Beispiel (Kamera mindestens 100 über 0) If EntityY(cam) < minimalerWert PositionEntity cam, EntityX(cam), minimalerWert,EntityZ(cam) |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, aber das löst das Problem noch nicht.
Jetzt fällt der Spieler runter bis zu 100, dann langsam bis 0 und dann wieder von 100 usw. Er soll einfach ca. 80 höher als die Map gehen, aber trotzdem noch mit ihr kollidieren. Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mache entweder den EntityRadius![]() ![]() Code: [AUSKLAPPEN] TranslateEntity Camera,0,-0.1,0 ;Schwerkraft
PositionEntity Camera,EntityX(Camera),EntityY(Camera)+CameraHeight,EntityZ(Camera) Ich würd aber zu meinem ersten vorschlag raten... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super, Danke! ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wtf?!
Code: [AUSKLAPPEN] Pivot=CreatePivot() Cam=createCamera(pivot) PositionEntity Cam 0,100,0 Der Pivot ist Parent von der Cam und somit ist die Kamera immer an den Pivot gebunden, der Pivot wird auf 0,0,0 Positioniert und die Kamera bleibt dann Konstant bei 0,100,0 AChja: Nun muss allerdings der Pivot immer mit Schwerkraft heruntergezogen werden und nicht mehr die Kamera! |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok?
Jetzt 'hab ich das Problem, dass wenn ich auf z.B. einen Würfel gehe, die Kamera sich um ca.1000 (?) nach oben hin korrigiert! Warum das denn jetzt? Mfg, N0X //Edit: Ok, es liegt am "EntityRadius".. aber warum? oder noch besser: Wie kann ich das verhindern? |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du jetzt den Pivot + den EntityRadius hast, ist es logisch...
Du musst jetzt nur den Pivot einen EntityRadius geben, die Camera im pivot nach oben verschieben, und du kannst zusätzlich noch in der schleife die camera auf die alte Position korrigieren... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, Danke, aber muss ich jetzt den Pivot Translaten oder die Cam? Ich denk mal den Pivot, oder?
Allerdings ist jetzt alles wieder platt auf dem Boden! Hier mal wieder der Code: [AUSKLAPPEN] Const PLYTYPE=2,TERTYPE=1
Global pivot = CreatePivot() Global cam = CreateCamera(pivot) PositionEntity cam,0,400,0 EntityRadius pivot,1,60 Global map = LoadMesh("models\maps\de_inferno.3ds") Global weap = LoadMesh("models\weapons\glock.3ds",cam) PositionEntity weap,18,-10,35 EntityType cam,PLYTYPE EntityType map,TERTYPE Collisions PLYTYPE,TERTYPE,2,3 While Not KeyHit(1) TranslateEntity pivot,0,-10,0 RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 UpdateWorld() RenderWorld() Flip Wend End Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kein Wunder. Deine Kamera hat einen Kollisionstyp, der Pivot nicht. Der Pivot fällt, die Kamera mit ihm. Aber nur solange bis die Kamera auf Widerstand stösst und hängen bleibt, der Pivot fällt trotzdem weiter. | ||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, habe ich geändert, hat trotzdem nichts gebracht...
Weil ich mir immer noch nicht denken kann warum das nicht funktioniert, poste ich mal den gesamten Code. Code: [AUSKLAPPEN] Graphics3D 1680,1050,32,1
SetBuffer BackBuffer() Const PLYTYPE=2,TERTYPE=1 Global cam = CreateCamera() EntityRadius cam,0.1,50 PositionEntity cam,310,400,0 light = CreateLight() Global map = LoadMesh("models\maps\de_inferno.3ds") Global weap = LoadMesh("models\weapons\glock.3ds",cam) PositionEntity weap,18,-10,35 EntityType cam,PLYTYPE EntityType map,TERTYPE CameraRange cam,1,99999 MoveMouse 840,525 Collisions PLYTYPE,TERTYPE,2,3 While Not KeyHit(1) TranslateEntity cam,0,-10,0 RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 move() If KeyHit(59) Then PlaySound(bomb_pl) UpdateWorld() RenderWorld() Flip Wend End Function move() If KeyDown(17) Then MoveEntity cam,0,0,4 If KeyDown(31) Then MoveEntity cam,0,0,-4 If KeyDown(30) Then MoveEntity cam,-4,0,0 If KeyDown(32) Then MoveEntity cam,4,0,0 End Function Brauche Hilfe! Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
der Cam solltest du EntityType wegmachen... nur der Pivot...
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, super, klappt!
Aber wenn ich eine Treppe hochlaufe wird bei der Kollision mit den einzelnen Stufen die Kamera (oder der Pivot?) immernoch zu hoch gesetzt (und fällt wieder runter). Liegts vielleicht am Mesh? Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das liegt dann an der BlitzCollision...
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, schade, trotzdem Danke für die Hilfe!
Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group