Intelligente Kamera
Übersicht

![]() |
FuchsiBetreff: Intelligente Kamera |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi !
Ich hab ne ungewöhnlicheFrage: Ich benutze folgenden Code für meine intelligente Kamera. Code: [AUSKLAPPEN] PointEntity cam,player RotateEntity player,0,EntityYaw(piv),0 RotateEntity piv,EntityPitch(piv)+MouseYSpeed()*0.1,EntityYaw(piv)-MouseXSpeed()*0.1,0 PositionEntity target,0,8,-20 dx#= EntityX(target,True)-EntityX(cam) dy#= EntityY(target,True)-EntityY(cam) dz#= EntityZ(target,True)-EntityZ(cam) TranslateEntity cam,dx*.1,dy*0.1,dz*.1 MoveMouse gfx_breite/2,gfx_hoehe/2 Das funktioniert alles prächtig. Allerdings hab ich mir den das untere Codestück wo rauskopiert und ich weiß nich wieso oder wie das alles funktioniert. Kann mir einer den Code erklären ? Gruß Fuchsi ! |
||
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] dx#= EntityX(target,True)-EntityX(cam)
dy#= EntityY(target,True)-EntityY(cam) dz#= EntityZ(target,True)-EntityZ(cam) TranslateEntity cam,dx*.1,dy*0.1,dz*.1 Das hier sorgt für eine langsame Bewegung zum Spieler hin. Znächst wird die Differenz der Koordinaten von Kamera und Spieler errechnet und dann die Kamera um ein Zehntel davon bewegt. Code: [AUSKLAPPEN] MoveMouse gfx_breite/2,gfx_hoehe/2
Das hier bewegt die Maus in die Mitte des Bildschirms, was in vielen Ego-Shootern von Nöten ist, damit folgender Code richtig funktioniert: Code: [AUSKLAPPEN] RotateEntity piv,EntityPitch(piv)+MouseYSpeed()*0.1,EntityYaw(piv)-MouseXSpeed()*0.1,0
Dieser Code hat nämlich die Schwachstelle, dass MouseSpeed nichts Richtiges mehr zurückliefert, falls die Maus an den Bildschirmrand bewegt wird. Daher muss bei Ego-Shootern die Maus in der Mitte gehalten werden. |
||
![]() |
Fuchsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke !
Allerdings hast du das , was ich genau wissen wollte nich erklärt. Was bringt es, dass man die Differenz zwischen Cam und Target ausrechnet ? |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
daraus entsteht eine langsame bewegung.
du errechnest damit, wie weit sich die kamera bewegen muss. |
||
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. |
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Exakt. Du könntest natürlich auch die Kamera sofort zu der Position des Spielers setzen, aber das wird noch keine Bewegung. Mit einer If Prüfung, die die Kamera bewegt, wenn die Koordinaten unterschiedlich sind, würde das natürlich auch gehen, die Differenz auszurechnen ist allerdings schneller. | ||
![]() |
Fuchsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thx ! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group