0

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

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);
4

2 回答 2

0

我可以想到2个选项:

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

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

于 2020-08-31T06:40:28.050 回答
0

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

于 2020-09-03T17:11:09.193 回答