뭔가 충격을 받은 경우 화면이 흔들리게 하고 싶었는데 카메라를 흔들어 이를 구현하였습니다.
아래가 해당 스크립트입니다.
using UnityEngine;
public class CameraShake : MonoBehaviour
{
public float shakeDuration = 0.5f; // 흔들림 지속 시간
public float shakeMagnitude = 0.7f; // 흔들림 강도
private Vector3 originalPos;
private float shakeTimeRemaining;
void OnEnable()
{
originalPos = transform.localPosition;
}
public void TriggerShake()
{
shakeTimeRemaining = shakeDuration;
}
void Update()
{
if (shakeTimeRemaining > 0)
{
transform.localPosition = originalPos + Random.insideUnitSphere * shakeMagnitude;
shakeTimeRemaining -= Time.deltaTime;
}
else
{
transform.localPosition = originalPos;
}
}
}
위 스크립트를 Main Camera 에 넣고 버튼의 On Click 이벤트를 추가하여 CameraShake 의 TriggerShake() 메서드를 호출할 수 있도록 합니다.
적용한 결과
[Unity] 물체 잡기 (Grab Object) (0) | 2024.01.13 |
---|---|
[Unity] [Collab] Collab service is deprecated and has been replaced with PlasticSCM 에러 처리방법 (0) | 2024.01.09 |
[Unity] 도망 다니는 Button 만들기 (0) | 2023.12.14 |
[Unity] Visual Scripting - 구름 흐르게 하기 (사물 자동 이동) (0) | 2023.12.13 |
[Unity] Mouse Drag 로 Main Camera 이동하기 (Drag and Move Camera) (0) | 2023.12.13 |