我只想进行一些基本的相机控制。向上,向下,向左,向右移动相机,并围绕原点旋转。
如果相机处于y = 0,则效果很好,但是一旦我向上移动相机,旋转就会开始远离原点。
我此刻不会进行流畅的运动或类似的事情。只是基础。
移动代码:
// increment camX/Y/Z as float
vec3 camPos = vec3(camX, camY, camZ);
viewMatrix = lookAt(camPos, vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f));
旋转代码:
// Increment camY angle as float
float camOrbX = distance(vec3(camX, camY, camZ), vec3(0.0f)) * sin(camRotY);
float camOrbZ = distance(vec3(camX, camY, camZ), vec3(0.0f)) * cos(camRotY);
camX = camOrbX;
camZ = camOrbZ;
vec3 camPos = vec3(camX, camY, camZ);
viewMatrix = lookAt(camPos, vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f));