RPG或者动作游戏最重要的就是打击感,好的打击效果可以给游戏增色不少,而一种最方便最简单的提升打击感的效果就是震屏效果,短短几十行代码就可以让我们的游戏效果提升不少。
简单来说,震屏效果就是让我们的摄像机在运行时在正常的位置下随机朝各个方向偏移,直到震动结束。经过本人测试,发现如果可以将振幅逐渐减小,可以达到更好的视觉效果。话不多说,看一下代码:
// 相机震动效果
using UnityEngine;
public class CameraShakeEffect : MonoBehaviour
{
/// <summary>
/// 相机震动方向
/// </summary>
public Vector3 shakeDir = Vector3.one;
/// <summary>
/// 相机震动时间
/// </summary>
public float shakeTime = 1.0f;
private float currentTime = 0.0f;
private float totalTime = 0.0f;
public void Trigger()
{
totalTime = shakeTime;
currentTime = shakeTime;
}
public void Stop()
{
currentTime = 0.0f;
totalTime = 0.0f;
}
public void UpdateSh