Files
LowPolyRPG/Assets/Plugins/RaycastPro/_Demo/_Scripts/CameraShake.cs

41 lines
1.0 KiB
C#
Raw Normal View History

2025-06-25 11:10:11 +01:00
namespace Plugins.RaycastPro.Demo.Scripts
{
using UnityEngine;
public class CameraShake : MonoBehaviour
{
private Vector3 originalPosition;
public float duration = .4f;
public float amplification = .7f;
private float shakeDuration = 0f;
private float shakeAmplification = 0.7f;
private float shakeDecreaseFactor = 1.0f;
void Start()
{
originalPosition = transform.localPosition;
}
void Update()
{
if (shakeDuration > 0)
{
transform.localPosition = originalPosition + Random.insideUnitSphere * shakeAmplification;
shakeDuration -= Time.deltaTime * shakeDecreaseFactor;
}
else
{
shakeDuration = 0f;
transform.localPosition = originalPosition;
}
}
public void Shake()
{
shakeDuration = duration;
shakeAmplification = amplification;
}
}
}