이번 포스트에서는 간단하게 중심점을 중심으로 회전하는 캐릭터와 캐릭터에서 일정거리만큼 떨어져서 중심점을 바라보는 카메라를 구현할 때 필요한 공식을 쓸 것이다.
위의 그림에서
O = 중심점(이 점을 중심으로 캐릭터가 움직이고, 카메라는 이 중심점을 바라본다.)
P = 플레이어의 위치
P1 = 이동한 플레이어의 위치
C = 카메라의 위치
C1 = 이동한 카메라의 위치
V = 중심점에서 캐릭터를 가리키는 방향
V1 = 중심점에서 이동한 캐릭터를 가리키는 방향
D = 플레이어와 카메라 간의 거리
D1 = 이동한 플레이어와 이동한 카메라 간의 거리
를 의미한다.
캐릭터의 이동
이 시스템에서
1. 캐릭터가 앞으로 간다는 것은 중심점으로 다가가는 것을 의미한다.
2. 뒤로 간다는 것은 중심점에서 멀어지는 것을 의미한다.
3. 왼쪽으로 간다는 것은 중심점을 기준으로 시계 방향으로 움직이는 것을 의미한다.
4. 오른쪽으로 간다는 것은 중심점을 기준으로 반시계 방향으로 움직이는 것을 의미한다.
각각의 값를 구하는 공식
V = P - O :: 중심점에서 플레이어를 가리키는 방향은 플레이어 위치 값에서 중심점의 위치값을 빼면 구할 수 있다.
V1 = P1 - O :: 중심점에서 이동한 플레이어를 가리키는 방향 역시 위와 같다.
C = P + ( ||V|| * D ) :: 카메라의 위치는 플레이어의 위치에서 ||V|| 방향으로 설정하고자 하는 거리 D 만큼 곱한 것으로 구할 수 있다.
C1 = P1 + ( ||V1|| * D1) :: 위와 같다.
( ||V|| 는 V라는 벡터의 단위 벡터, 즉 길이가 1인 V 벡터를 의미한다.)
[유니티 어필리에이트 프로그램]
아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.
[투네이션]
[Patreon]
[디스코드 채널]