上周我利用一周的时间完成了一个解密竞速小游戏,这也是没空更新的一个原因吧
因为时间比较短,就选择了 2D 项目来练练手,在人物角色控制写完了之后,就想着写个摄像机来控制视野,索性就想到了 Cinemachine
,记得之前好像看到 Cinemachine 有一套比较好用的摄像机系统,就拿来试试了。
# 效果预览
可以看到其效果包含以下几个方面
- 跟随玩家角色的移动
- 在小范围内移动不会触发摄像机位置的改变
- 摄像机缓动
- 摄像机视野不会超出地图范围
这几个效果自己手写还是挺麻烦,让我们来看看 Cinemachine
怎么做。
# 如何使用
- 创建一个 2D 虚拟相机:
2. 为虚拟相机指定 Flow
3. 设置活死区和插值此时已经可以实现摄像机跟随了,但是此时摄像机可能会照到非地图区域
4. 设定地图碰撞区域
创建一个空物体并挂载多边形碰撞器(目前只支持这种类型的碰撞器) 记得设置为触发器
为虚拟相机添加如下组件,将碰撞设置进去
此时你可以实现上述的所有功能了。