Richtig, für eine derartige Perspektive hängt man die Kamera an der Figur auf.
Dazu muss man wissen, wo der Kopf (oder das Guckorgan) ist. Nennen wir den Punkt mal
K. Ausserdem braucht man die Blickrichtung
B der Figur.
Der einfachste Fall ist nun, die Kamera direkt hinter die Figur zu setzen. Allerdings würde ich sie dann nicht mehr als Position mit zwei Winkeln beschreiben, sondern als Kamera mit Augpunkt, Blick- und Oben-Richtung.
CameraPos =
K - Abstand *
B
CameraLookAt =
K
Das positioniert die Kamera "Abstand" Einheiten hinter dem Kopf der Figur und benutzt die gleiche Blickrichtung wie die Figur. Das ist aber noch nicht ganz so schön, weil man die Kamera normalerweise etwas oberhalb der Figur platziert, damit man sich besser orientieren kann.
CameraPos =
K - Abstand *
B + Hoehe * y
Was hier für die Kameradefinition noch fehlt, ist die Richtung "CameraSky," die man sich mit dem Kreuzprodukt berechnen kann.
CameraSky = ((
K - CameraPos) cross y) cross (
K - CameraPos)
Kann aber sein, dass das jetzt nach unten zeigt, aber das sieht mal leicht, wenn das Bild auf dem Kopf steht. (bin eben zu Faul, mir das zu überlegen
) Ausserdem kann man so den Kopf nicht kippen, was du aber mit fCameraRot (vermutlich um y) und fCameraUpDown auch nicht kannst.
Gruss,
Rainer