zoukankan      html  css  js  c++  java
  • 相机振动效果(打击屏幕振动)

    实现相机振动的代码如下:

    using UnityEngine;
    using System.Collections;
    
    public class CameraShake : MonoBehaviour {
    
        Matrix4x4 originalProjection;
        float timer;
    
        void Start()
        {
            originalProjection = camera.projectionMatrix;
        }
    
        public IEnumerator Shake(float gap)
        {
            timer = Time.time;
            while (Time.time - timer <= gap)
            {
                Matrix4x4 p = originalProjection;
                p.m01 += Mathf.Sin(Time.time * 120F) * 0.04F;
                p.m10 += Mathf.Sin(Time.time * 150F) * 0.04F;
                camera.projectionMatrix = p;
                yield return 0;
            }
            camera.ResetProjectionMatrix();
        }
    }

    把该脚本绑定在相机后,通过一个事件调用CameraShake的Shake函数,如:

        void OnTriggerEnter(Collider other)
      {
         if (other.name == "Cube")
         {          
        StartCoroutine(Camera.main.GetComponent
    <CameraShake>().Shake(speed)); } }

     

     

  • 相关阅读:
    每周总结8.18
    每周总结7.28
    每周总结8.25
    每周总结7.21
    每周总结8.11
    每周总结8.4
    大道至简 读后感
    递归进行回文的判断
    课后作业1
    GoodBlogs Websites
  • 原文地址:https://www.cnblogs.com/martianzone/p/3309574.html
Copyright © 2011-2022 走看看