Unity3D镜头抖动特效

来源:互联网 发布:ftp安卓软件 编辑:程序博客网 时间:2024/04/30 07:44

最近在一直研究Unity的一些基础知识,当我研究一个跑酷类的游戏时,看到了一段代码shakeCamera ,实验后发觉蛮好玩的,所以拿出来分享一下。

     其实代码原理很简单,用到了协程,在有限的时间内,随机的更改位置的幅度,造成了游戏界面抖动的视觉特效。


/**Title :  [Game]*[实验:   摄像机摇晃的代码实验]**Description :*设计一个迭代器:  摄像机短时间摇晃*也可通过按键来控制此方法。*/using UnityEngine;using System.Collections;public class ShakeCamera : MonoBehaviour {
    private Vector3 vecOriginPos;void Start () {           vecOriginPos = this.transform.position;   //记录初始位置}    void Update()    {        if (Input.GetKey(KeyCode.P))                //当按下P时        {            StartCoroutine("IEnumShakeCamera");        }    }    IEnumerator IEnumShakeCamera()    {        float count = 0;        Vector3 vecRandom = Vector3.zero;         while (count < 0.5f)                         {            count += 1 * Time.smoothDeltaTime;            print(count);            vecRandom.x = vecOriginPos.x + Random.Range(-0.5f, 0.5f);            vecRandom.y = vecOriginPos.y + Random.Range(-0.5f, 0.5f);  ;            vecRandom.z = vecOriginPos.z;            transform.position = vecRandom;            yield return 0;        }        transform.position = vecOriginPos;    }}

一些2D或者3D打斗场面,或者被袭击时,想使用这样效果的,可以尝试使用它。

1 0
原创粉丝点击