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
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