unity3d 摄像机抖动效果 CameraShake
Posted allyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d 摄像机抖动效果 CameraShake相关的知识,希望对你有一定的参考价值。
unity3d 摄像机抖动效果 ,利用脚本直接控制;当然也可以选择使用dotween插件,但到不至于为了使用仅一个功能,就导入了一个插件;
脚本示例:
using UnityEngine; using System.Collections; public class CameraShake : MonoBehaviour { public Transform cameraTransform; private Vector3 _currentPosition; //记录抖动前的位置 private float _shakeCD = 0.002f; //抖动的频率 private int _shakeCount = -1; //设置抖动次数 private float _shakeTime; void Start () { if(cameraTransform == null) cameraTransform = transform; _currentPosition = cameraTransform.position; //记录抖动前的位置 _shakeCount = Random.Range (50, 60); //设置抖动次数 } void Update () { if(_shakeTime + _shakeCD < Time.time && _shakeCount > 0) { _shakeCount --; float radio = Random.Range (-0.01f, 0.01f); if(_shakeCount == 1) //抖动最后一次时设置为都动前记录的位置 radio = 0; _shakeTime = Time.time; cameraTransform.position = _currentPosition + Vector3.one * radio; } } }
以上是关于unity3d 摄像机抖动效果 CameraShake的主要内容,如果未能解决你的问题,请参考以下文章
csharp Unity3d的简单相机抖动效果,用C#编写。附加到您的相机GameObject。要摇动相机,请将shakeDuration设置为numbe
Unity3D正交视图与透视视图 ( 正交视图概念 | 透视视图概念 | 观察点 | 正交视图作用 | 摄像机广角设定 | 透视畸变效果 )