csharp 在Unity中启动屏幕抖动的脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 在Unity中启动屏幕抖动的脚本相关的知识,希望对你有一定的参考价值。

using UnityEngine;
using System.Collections;

public class CameraShake : MonoBehaviour
{
	public static CameraShake main;
	// Transform of the camera to shake. Grabs the gameObject's transform
	// if null.
	public Transform camTransform;

	// How long the object should shake for.
	public static float shakeDuration = 0f;

	// Amplitude of the shake. A larger value shakes the camera harder.
	public float shakeAmount = 0.7f;
	public float decreaseFactor = 1.0f;

	Vector3 originalPos;


	void Awake()
	{
		main = this;

		if (camTransform == null)
		{
			camTransform = GetComponent<Transform>();
		}
	}

	void OnEnable()
	{
		originalPos = camTransform.localPosition;
	}

	void Update()
	{
		if (shakeDuration > 0)
		{
			camTransform.localPosition = originalPos + Random.insideUnitSphere * shakeAmount;

			shakeDuration -= Time.deltaTime * decreaseFactor;
		}
		else
		{
			shakeDuration = 0f;
			camTransform.localPosition = originalPos;
		}
	}
}

以上是关于csharp 在Unity中启动屏幕抖动的脚本的主要内容,如果未能解决你的问题,请参考以下文章

csharp 在Unity中拾取对象的脚本。

unity中人物为什么会自己动

unity3d 摄像机抖动效果 CameraShake

简单的 2D Unity 游戏具有周期性抖动

【unity】第一次启动项目冷启动优化

csharp ScreenBase是Unity UI面板的基类。它处理转换,在屏幕显示和延迟之前和之后添加任务。它德