上周我利用一周的时间完成了一个解密竞速小游戏,这也是没空更新的一个原因吧

因为时间比较短,就选择了2D项目来练练手,在人物角色控制写完了之后,就想着写个摄像机来控制视野,索性就想到了Cinemachine,记得之前好像看到Cinemachine有一套比较好用的摄像机系统,就拿来试试了。

效果预览


可以看到其效果包含以下几个方面
+ 跟随玩家角色的移动
+ 在小范围内移动不会触发摄像机位置的改变
+ 摄像机缓动
+ 摄像机视野不会超出地图范围

这几个效果自己手写还是挺麻烦,让我们来看看Cinemachine怎么做。

如何使用

  1. 创建一个2D虚拟相机:
  2. 为虚拟相机指定Flow
  3. 设置活死区和插值
    此时已经可以实现摄像机跟随了,但是此时摄像机可能会照到非地图区域
  4. 设定地图碰撞区域
    创建一个空物体并挂载多边形碰撞器(目前只支持这种类型的碰撞器)记得设置为触发器

    为虚拟相机添加如下组件,将碰撞设置进去

    此时你可以实现上述的所有功能了。