此函数基于下面列出的指定参数构建正交投影矩阵(这是在 GameMaker Studio 2 中创建房间而不更改任何内容时使用的默认投影方法)。有时你需要从透视投影切换到正交投影,这是此函数的用途。它通常用于绘制叠加,例如,显示得分或其他方面,因为这给出了 3D 游戏中绘制的元素(即:无透视)的 “平面” 视图。 请参阅下图,了解正交视图和透视视图之间的区别。
注意: 如果你希望绘制信息而无论当前深度值如何,你可能还需要暂时关闭隐藏表面移除(?)。
matrix_build_projection_ortho(width, height, znear, zfar);
参数 描述 w 投影的宽度。 h 投影的高度。 znear 近剪裁平面。 zfar 远剪裁平面。
Matrix index(矩阵索引)
viewmat = matrix_build_lookat(640, 240, -10, 640, 240, 0, 0, 1, 0);
projmat = matrix_build_projection_ortho(640, 480, 1.0, 32000.0);
camera_set_view_mat(view_camera[0], viewmat);
camera_set_proj_mat(view_camera[0], projmat);
上面的代码创建了一个新的视野矩阵和正交矩阵,将它们的 ID 存储在局部变量中,然后使用它们来设置分配给 view port[0](视口 0) 的摄像机的视野和投影矩阵。