Unity 经典教程 之 简单易学抖屏震屏效果的实现

 时间:2024-10-13 22:45:55

Unity 经典教程 之 简单易学抖屏震屏效果的实现。在游戏开发中,当物体爆抄贼谟伦炸、者玩家重击或者地震等情况,添加震屏或者抖屏效果,显得会更加真实,玩家体验效果也会更好;本节讲解游戏中抖屏震屏效果的实现,具体如下

工具/原料

Unity

C#

经典教程 之 简单易学抖屏震屏效果的实现

1、打开Unity,新建一个空工程,然后Unity界面如下图

Unity 经典教程 之 简单易学抖屏震屏效果的实现

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

Unity 经典教程 之 简单易学抖屏震屏效果的实现

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

Unity 经典教程 之 简单易学抖屏震屏效果的实现

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

Unity 经典教程 之 简单易学抖屏震屏效果的实现

5、脚本具体代码如下:using UnityEngine;public class CameraShakeTest : MonoBeh锾攒揉敫aviour { 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”,具体如下图

Unity 经典教程 之 简单易学抖屏震屏效果的实现

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

Unity 经典教程 之 简单易学抖屏震屏效果的实现

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

  • ps中怎样制作云层
  • C4D怎么快速勾选使用边断开
  • AE中怎么做下雪的效果?
  • 使用maya如何制作艺术桌子
  • 手绘板ps画笔长按时旁边会出现设置 怎么取消
  • 热门搜索
    垃圾分类手抄报图片 英语手抄报内容 四大名著手抄报 预防近视手抄报 清明节手抄报 中国传统节日手抄报 五一劳动节手抄报 春天的手抄报 防控疫情手抄报 中国传统文化手抄报