2021-9-2 Cinemachine 不需要写代码的高级跟随摄像机 2D横板游戏应用

在这里插入图片描述

Cinemachine的下载及导入

  1. 下载
    现在的版本不再需要从assets store中下载了,直接从package manager中就能找到Cinemachine这个插件。初次找到,请点击Download下载!
    在这里插入图片描述

  2. 创建Cinemachine对象在这里插入图片描述

我们选择创建虚拟摄像机Virtual Camera后,便会出现一个名为CM vcam1
的虚拟摄像机。

Cinemachine基础

设置

  1. 取消主摄像机上的Cinemachine Brain的组件。
  2. 添加第二个摄像机。
  3. 在第二个摄像机上添加Cinemachine Brain组件。(添加了这个组件后这个摄像机就没法通过拖拽它移动了,只有移动CM vcam1才能移动摄像机,也就是说,他们已经绑定了)
  4. 点击CM vcam1,将player拖入右侧的follow栏中,便能实现摄像机跟随玩家啦。
    在这里插入图片描述

简单用法的一些重要的属性(没讲到的暂时就保持默认设置,如果有补充,欢迎评论区留言)

  1. Follow : 跟随那个目标
  2. Look at : 看向哪个目标(3D游戏中经常使用,由于是2D游戏,不需要控制旋转,所以默认None就行了)
  3. Vertical VOF(Lens中):该值越大则摄像机距离2D平面越远,game视图中看到的地图,玩家等越小。该值越小则摄像机越近,但太近会看到非常模糊的一个个像素。
  4. Body中,此时Body为transposer。
    1. X/Y/Z damping () : X/Y/Z方向阻尼。该值越小,则摄像机跟随越快。该值越大,摄像机跟随越慢。
    2. Yaw damping:与摄像机的旋转跟随相关,但由于这是2D游戏,没有旋转,保持不变即可。

问题来了

但是一般横板2D游戏中并不是摄像机完全跟随玩家,而是玩家到达一定位置后,摄像机才会跟随。并且如果我不停的左右左右,便会出现屏幕一直在晃动的鬼畜情况。

Cinemachine高级

将Body选择为Framing Transposer,即按帧计算的移动方式。此时再选中CM vcam1则会发现,摄像机的中心变成了一个黄点。而在黄点上有一横一竖两条蓝线,也就是下面所说的死线。以及红区和蓝区两部分(改变死线还会出现白区)
在这里插入图片描述

白区蓝区红区

  1. 白区:跟随对象在白区内,摄像机不跟随。
  2. 蓝区: 跟随对象移动至蓝区中,摄像机就会跟随。
  3. 红区: 跟随对象高速移动时,会由于摄像机没有及时跟随上目标而丢失目标不在跟随。此时红区的作用就是,当跟随目标触及红线时,摄像机会立即跟随目标而不是缓慢跟随。

高级用法的一些属性(Body中)

在这里插入图片描述

  1. Lookahead Time: 通过计算物体的速度和加速度估计跟随对象该值的时间后,会运动到什么地方,将这个地方设置为黄点的位置。这样摄像机就拥有了一定的预判性。当跟随对象向左移动时,则摄像机视图看左多一点;当跟随对象向右移动时,则摄像机视图看右多一点。
  2. Lookahead Smoothing:预测的平滑速度。该值为0时,黄点会直接锁定到预测位置。该值增大,黄点会以缓慢移动的形式移动至预测位置。
  3. Lookahead Ignore Y:但是第一个功能的预测在Y轴上会导致镜头上下晃动,勾选这个选项后,则忽略Y轴的预测。
  4. X/Y/Z damping : 与Transposer中的功能一样。
  5. Screen X/Y : 摄像机的位置。默认为0.5,即中心位置。Screen X变大则向右移动,Screen Y变大则向上移动。
  6. Dead Zone Width : 调整竖着的蓝线,向左右两边分开,调整白区宽度。该值增大则白区宽度增加。
  7. Dead Zone Height :调整横着的蓝线,向上下两边分开,调整白区高度。该值增大则白区高度增加
  8. Soft Zone Width :调整竖着的红线,向左右两边分开,调整蓝区和红区宽度。该值增大则则蓝区宽度增加,红区宽度减少。(不要迅速减小,当红线退至蓝线继续减小时,会推动蓝线移动。当该值为0时,则直接锁定跟随对象,于是摄像机一直快速跟随玩家。)
  9. Soft Zone Height :调整竖着的红线,向上下两边分开,调整蓝区和红区高度。该值增大则则蓝区高度增加,红区高度减少。(不要迅速减小,当红线退至蓝线继续减小时,会推动蓝线移动。当该值为0时,则直接锁定跟随对象,于是摄像机一直快速跟随玩家。)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

giegie界清流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值