unity 射击时屏幕震动效果
2016-11-11 11:28
399 查看
using UnityEngine; using System.Collections; public class CameraShake : MonoBehaviour { public static bool startShake = false; //camera是否开始震动 public static float seconds = 0f; //震动持续秒数 public static bool started = false; //是否已经开始震动 public static float quake = 0.2f; //震动系数 private Vector3 camPOS; //camera的起始位置 // Use this for initialization void Start () { camPOS = transform.localPosition; } // Update is called once per frame void LateUpdate () { if(startShake) { transform.localPosition =camPOS+ Random.insideUnitSphere * quake; } if(started) { StartCoroutine(WaitForSecond(seconds)); started = false; } } /// <summary> /// 外部调用控制camera震动 /// </summary> /// <param name="a">震动时间</param> /// <param name="b">震动幅度</param> public static void ShakeFor(float a ,float b) { // if (startShake) // return; seconds = a; started = true; startShake = true; quake = b; } IEnumerator WaitForSecond(float a) { // camPOS = transform.position; yield return new WaitForSeconds (a); startShake = false; transform.localPosition = camPOS; } }
在需要震动的时候直接调用
CameraShake.ShakeFor (0.2f, 0.1f);
相关文章推荐
- Unity屏幕震动效果
- Unity 屏幕震动效果实现
- Unity 屏幕震动效果实现
- 屏幕震动效果
- Unity&Shader案例篇—屏幕渐暗效果
- unity官方demo学习之Stealth(四)屏幕渐变效果
- Unity Shaders——屏幕特效老电影效果(Old Movie Screen Effect)
- 模拟屏幕震动效果,使用cocos2d-x 3.x
- 屏幕震动的效果实现
- Unity--实现屏幕多屏分屏效果
- UnityShader屏幕后处理-Bloom效果(朦胧模糊)
- 模拟屏幕震动效果,使用cocos2d-x 3.x
- cocos2d-x 3.x(C++)实现屏幕震动效果
- Unity教程之-Unity3d实现屏幕抖动效果
- unity关于屏幕震动以及物体振动的一个实现方法
- Unity_Shader高级篇_12.3_后处理_屏幕水波效果
- Unity屏幕震动实现(通过Camera Viewpoint)
- Unity 切换游戏场景时屏幕淡入淡出效果 第二版
- Unity Shader入门精要学习笔记 - 第12章 屏幕后处理效果