有人能告诉我为啥当我的游戏中的相机移动时一切都会振动吗?

Posted

技术标签:

【中文标题】有人能告诉我为啥当我的游戏中的相机移动时一切都会振动吗?【英文标题】:could someone tell me why everything vibrates when the camera in my game moves?有人能告诉我为什么当我的游戏中的相机移动时一切都会振动吗? 【发布时间】:2020-08-29 23:01:57 【问题描述】:

我不知道为什么,但出于某种原因,每当我游戏中的镜头移动时,除了它所关注的角色之外,其他所有东西都会做这种奇怪的事情,它们会按应有的方式移动,但它们几乎会振动,你可以看到一点物体背面的痕迹,虽然它非常小。有人能告诉我为什么会这样吗?这是代码:

x+= (xTo-x)/camera_speed_width;
y+= (yTo-y)/camera_speed_height;
x=clamp(x, CAMERA_WIDTH/2, room_width-CAMERA_WIDTH/2);
y=clamp(y, CAMERA_HEIGHT/2, room_height-CAMERA_HEIGHT/2);
if (follow != noone)

    xTo=follow.x;
    yTo=follow.y;

var _view_matrix = matrix_build_lookat(x,y,-10,x,y,0,0,1,0);
var _projection_matrix = matrix_build_projection_ortho(CAMERA_WIDTH,CAMERA_HEIGHT,-10000,10000)
camera_set_view_mat(camera,_view_matrix);
camera_set_proj_mat(camera,_projection_matrix);

【问题讨论】:

当我读到标题时,我以为它真的在振动(控制器)。也许你应该把“振动”换成“摇”之类的东西 【参考方案1】:

我能想到 2 个选项:

您的游戏以较低的每秒帧数(30 或更低)运行,较高的 FPS 将使移动图形更流畅(通常最低为 60 FPS) 另一种可能性是您的相机被多次设置为目标,可能一个部分(或块代码)比另一个更早地跟随玩家。我认为您也可以让视口跟随房间编辑器中的对象,也许这也是设置的。

试试看这些选项是否能帮到你。

【讨论】:

【参考方案2】:

如果您的相机是低分辨率的,您应该考虑对您的相机坐标进行四舍五入/取整 - 否则实例(相对于相机)处于分数坐标,此时您将由 GPU 决定如何渲染它们.如果实例本身使用分数坐标,那么当组合分数四舍五入到一个或其他数字时,您将得到摆动。

【讨论】:

以上是关于有人能告诉我为啥当我的游戏中的相机移动时一切都会振动吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的按键动作不能正常工作?

当我添加游戏循环时,为啥我的 Java 游戏会崩溃?

有人能告诉我为啥我的加密有效但我的解密无效吗?看下面的图片

动画相机以定位和设置谷歌地图中的平移

OpenGL - 让相机移动

每当我在任何按钮(即 UISegmentedControl 按钮)之外单击时,都会单击该按钮。谁能告诉我为啥会这样?