PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kamera-Rotation in 3D


Einfachkrank
2004-01-31, 16:00:52
Hi,

so lasse ich meine Kameradaten um die Y-Achse drehen:

// camera structur:
typedef struct CAMERAINFO_TYPE
{
float EyeX, EyeY, EyeZ;
float LookX, LookY, LookZ;
}CAMERAINFO,CAMINFO;

// rechtsdrehung:
x = (float)(sin(DEG2RAD(-rot)) * (info->camera.LookZ-info->camera.EyeZ)
+ cos(DEG2RAD(-rot)) * (info->camera.LookX-info->camera.EyeX));
z = (float)(cos(DEG2RAD(-rot)) * (info->camera.LookZ-info->camera.EyeZ)
- sin(DEG2RAD(-rot)) * (info->camera.LookX-info->camera.EyeX));
info->camera.LookX = info->camera.EyeX + x;
info->camera.LookZ = info->camera.EyeZ + z;

// für linksdrehung einfach rot, statt -rot


1. Wie transformiert ihr eure Kamera?
2. Wie setze ich dasselbe für die X-Achse um? (Also für Blick nach unten und oben)

MFG Einfachkrank

Gnafoo
2004-02-01, 18:28:16
Super Artikel dazu:
http://nehe.gamedev.net/data/articles/article.asp?article=08

Hoffe das hilft dir etwas weiter.

cu DerTod