美文网首页GMS2入门
Dev_log_2 关于相机与视野

Dev_log_2 关于相机与视野

作者: 想当狗策划 | 来源:发表于2021-02-03 23:24 被阅读0次

这里,我的精力主要放在了,如何给玩家提供视野,如何让游戏在视觉上与玩家直接交互。

首先,新建一个对象,不指定任何精灵。

这是它的Create事件

camera = camera_create();//新建相机,将其赋值给camera

//相机基本属性矩阵
var vm = matrix_build_lookat(x,y,-10,x,y,0,0,1,0);//新建一个矩阵vm,保存相机的视野信息
var pm = matrix_build_projection_ortho(640,480,1,10000);//新建一个矩阵pm,保存相机的投影信息

//为camera设定视野矩阵以及投影矩阵
camera_set_view_mat(camera,vm);
camera_set_proj_mat(camera,pm);

//将camara赋值给view_camera[0],即房间第0号相机
view_camera[0] = camera;

//将玩家的目标赋值给follow
follow = obj_player;

//初始化xTo,yTo
xTo = x;
yTo = y;

这里值得一提的有:

matrix_build_lookat(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup)

这个函数会返回一个矩阵的索引,这个矩阵记录了相机视野的一些信息:
x/y/zfrom:即相机的所在地的坐标点
x/y/zto:即相机所看向的位置的坐标点
x/y/zup:没有搞清楚怎么用,似乎是为了旋转相机角度而存在的参数,欢迎补充

matrix_build_projection_ortho(w,h,znear,zfar)

这个函数同样返回一个矩阵的索引,记录的是关于相机投影的一些信息:
w(width)和h(height)即为投影的宽度和高度
znear和zfar为投影最近和最远的横截面
这里还有一个类似的函数matrix_build_projection_perspective(w,h,znear,zfar)
和此函数的区别在于:
ortho指的是orthographic projection,即正交投影,正视投影
perspective即perspective projection,透视投影
下图比较了两种不同投影的实际效果:


投影对比

完成create事件后,再新建一个step事件:

x += (xTo - x)/25;//如果希望相机移动变快,可以减小分母
y += (yTo - y)/25;

if(follow != noone)
{
    xTo = follow.x;
    yTo = follow.y;
}

var vm = matrix_build_lookat(x,y,-10,x,y,0,0,1,0);
camera_set_view_mat(camera,vm);

这个就很好理解了,不停更新相机这个目标的x,y值,用xTo,yTo来读取玩家的目标的坐标,然后将其重新赋值给相机的x,y,再不断更新相机的视野。

相关文章

  • Dev_log_2 关于相机与视野

    这里,我的精力主要放在了,如何给玩家提供视野,如何让游戏在视觉上与玩家直接交互。 首先,新建一个对象,不指定任何精...

  • Unity 如何让相机平滑跟随角色

    1.关于相机 1.相机跟随第一步:找一个舒服的视角,将相机视野对准视角 (view to algin)第二步:相机...

  • Scenekit - 检测相机视野中有哪些节点对象,判断一个某个

    本节学习目标 检测相机视野中有哪些节点2.判断节点是否在相机视野中 比如ar导航项目中经常会检测某个节点是否在视野...

  • 正交相机视野控制

    有时需要让指定的物体正好在正交相机视野内,就需要实时计算合适的size,然后更新相机。 要使物体在正交相机视野内,...

  • 装修效果图中相机视角的摆放

    1、相机高度:1100~1300mm之间,角度:0 2、相机视野:60~80度,为最佳 3、相机裁剪:0~30度,...

  • [微信九宫格]偶尔手机

    关于摄影,有些时候,手机真的可以。 与相机相比,手机真的不行。

  • 出柜工具箱

    一、关于认知 1. 新闻专题 凤凰大视野之一 | 为什么 凤凰大视野之二 | 围绕着我 凤凰大视野之三 | 我与婚...

  • 室内设计,3Dmax,VRAY物理相机设置

    VRay物理相机的基础设置 一 创建一个VRay物理相机 二 创建好后的物理相机如下图 三、 设置基本参数 视野6...

  • 室内设计,3dmax教程,vray物理相机设置

    VRay物理相机的基础设置 一 创建一个VRay物理相机 二 创建好后的物理相机如下图 三、 设置基本参数 视野6...

  • 关于相机

    首先可以先下载一个dome 然后编辑你需要使用到的按钮使用的全局变量哦!!!!!!!!!!!!!!!!!! 然后根...

网友评论

    本文标题:Dev_log_2 关于相机与视野

    本文链接:https://www.haomeiwen.com/subject/rvkvtltx.html