Unity 经典教程 之 简单易学抖屏震屏效果的实现
1、打开Unity,新建一个空工程,然后Unity界面如下图

2、在工程中新建一个脚本,脚本可以命名为“CameraShakeTest”,选中脚本,双击脚本或者右键“Open C# Project”,具体如下图

3、在打开的“CameraShakeTest”脚本上进行代码编辑,首先设置振幅、是否震动以及原始位置变量,然后获取振幅和原始位置,接着设定按下“S”键触发震动,并调用震动函数,具体代码及代码说明如下图

4、在打开的“CameraShakeTest”脚本上进行代码编辑,完成震动函数的代码,功能为位置随机变化,但是逐渐减小振幅,并且渐趋于原始位置震动,最后当振幅小于0.05f时,停止震动,震源回到原始位置,具体代码及代码说明如下图

5、脚本具体代码如下:
using UnityEngine;
public class CameraShakeTest : MonoBehaviour {
float shake = 5;
float setShake;
bool shakeSwitch = false;
Vector3 originalPos;
void Start()
{
setShake = shake;
originalPos = gameObject.transform.position;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.S)) {
shake = setShake;
shakeSwitch = true;
}
if (shakeSwitch == true)
{
CameraShake();
}
}
void CameraShake() {
gameObject.transform.position = new Vector3(
Random.Range(0f, shake * 2f) - shake + originalPos.x,
Random.Range(0f, shake * 1f) - shake + originalPos.y,
Random.Range(0f, shake * 2f) - shake + originalPos.z);
shake = shake / 1.05f;
if (shake < 0.05)
{
shake = 0;
shakeSwitch = false;
gameObject.transform.position = originalPos;
}
}
}
6、脚本编译正确后,回到Unity界面,在场景中新建一个“Cube”,以便于震动效果观察,然后把脚本“CameraShakeTest ”赋给“MainCamera”,具体如下图

7、运行场景,即可看到场景中“Cube”的震动效果,具体如下图

8、到此,《Unity 经典教程 之 简单易学抖屏震屏效果的实现》讲解结束,谢谢