코스모스 공작소

Unity로 카메라 반동만들기 (camera shake) 본문

프로그래밍/Unity

Unity로 카메라 반동만들기 (camera shake)

cosmos_studio_ 2019. 12. 10. 23:27
반응형

총을 쏘거나 반동이 있는 액션을 개발하다 보면 카메라의 진동이 필요한 순간이 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class CameraShake : MonoBehaviour
{
    Vector3 Start_Pos;
    void Start()
    {
        Start_Pos = transform.localPosition;
    }
    public IEnumerator Shake(float duration,float magnitude)
    {
        float timer = 0;
        while (timer <= duration)
        {
            transform.localPosition = (Vector3)Random.insideUnitSphere * magnitude + Start_Pos;
 
            timer += Time.deltaTime;
            yield return null;
        }
        transform.localPosition = Start_Pos;
    }
}
 
cs

duration : 진동 시간

magnitude : 진동 세기

1
2
transform.localPosition = (Vector3)Random.insideUnitSphere * magnitude + Start_Pos;
 
cs

Random.insideUnitSphere : 반지름이 1인 구의 내부점을 랜덤하게 하나를 가져옴

반응형
Comments