摆动/摆动相机

问题描述

| 我一直在互联网上搜索一段时间,没有任何解决方案。我想知道的是,如何像在minecraft,《使命召唤》等中找到的那样,在OpenGL(或DirectX)的3D相机中实现摆动/摆动运动。正确工作的方向。     

解决方法

您如何看待以下内容。 照常计算
cam_pos
cam_dest
cam_up
。 计算
cam_right
作为叉(
cam_pos
cam_up
) 创建一个浮点数
camera_time
(如果行走,则为
camera_time += delta_time;
) 计算
offset_factor = sin(camera_time);
然后您可以按以下方式调用
gluLookAt
或类似函数。
gluLookAt(cam_pos + cam_right * offset_factor,cam_des + cam_right * offset_factort,cam_up)
这将使相机从右向左摆动。您可以通过一些调整为
cam_up
向量添加相同的内容。