unity 震动脚本_Unity - Cinemachine实现相机抖动

普通相机抖动脚本较易实现,但在使用cinemachine相机下,其Transform组件不可被代码修改,那么Cinemachine的相机抖动如何实现呢?本文结合实际项目,对实现相机抖动的三大步骤进行系统讲解:

配置流程

项目背景:一款2D像素动作游戏,我们操控着Player(必须带有Collider组件),游戏相机为Cinemachine 2DCamera(关于其配置方法此处不做赘述,推荐文章在末尾参考处)

在相机上添加监听脚本

在我们使用的虚拟相机 CM vcam1 上添加组件:AddComponent->CinemachineImpulse Listener

CinemachineImpulse Listener:监听脚本内震动信号(方法调用),使得抖动在此相机上发生

Channel Mask:通道遮罩,此处最好默认为EveryThing

Gain:可获得震动信号的数目,0为屏蔽,1表示某时段仅能进行一个抖动运动

Use 2D Distance:用于2D游戏,忽略相机Z轴的抖动

在震动信号发生物体上添加脚本

震动信号发生物体(调用震动函数的物体)为Player,因此需要在Player上添加组件:AddComponent->Cinemachine Collision Impulse Source(注:必须挂到含Collider的物体上),然后在Raw Signal右侧齿轮->New Noise Settings 添加震动配置器,默认名CM vcam1 Raw Sign

你可能感兴趣的:(unity,震动脚本)