2024/08 3

[C#] 특정 방향(벡터)의 각도(angle) 구하기

발사 지점에서 플레이어를 향해 레이저를 발사시키는 기능을 만드는데, 발사 지점의 position과 플레이어의 position을 받아와 발사지점에서 플레이어까지의 벡터는 구했으나, 레이저를 방향에 맞게끔 회전시키는 작업을 해 줘야 했다 아크탄젠트(atan)를 이용해서 구해야 하는 건 알았으나, 정확한 사용방법을 잘 모르겠어서 검색하다가 발견했다https://wumbo.net/formulas/angle-between-two-vectors-2d/ Angle Between Two Vectors 2D FormulaCall the function. The angle is equal to radians or converting to the circle constant notation by multiplying by ..

[Unity] Cinemachine에서 3D 카메라의 범위 설정하기(Projection: Perspective)

이전 글(https://hye3193.tistory.com/154)에서 Cinemachine을 이용해서 카메라가 플레이어를 따라오고, 맵의 바깥쪽을 비추지 않도록 Bound를 설정해 주는 작업을 하였다 그런데 2D 게임이지만, 원근감을 위해 3D 카메라를 사용할 경우 설정을 변경해주어야 하는 부분이 있다 우선 main camera의 투시(projection)을 perspective로 변경해 준다 unity에서 카메라 투사에는 두 종류가 있는데, 하나는 orthographic으로, 일반적인 2D 같은 투사 방식이고, 다른 하나는 perspecitve로, 3D처럼 원근감이 적용되는 투사 방식이다 프로젝트를 생성할 때 2D를 선택했냐 3D를 선택했냐에 따라 기본적으로 설정된 투사 방식에 차이가 있지만, 유니티..

[Unity] Cinemachine으로 플레이어를 따라오는 카메라 설정하기(2D, Projection: Orthographic)

많은 게임들에서 기본적으로 카메라가 플레이어를 계속 따라다니며 진행되는데, Cinemachine이라는 컴포넌트를 활용해 쉽게 구현해 볼 수 있다 우선 기본적으로 설치되어 있는 패키지가 아니기 때문에, Window > Package Manager로 들어가 검색창에 Cinemachine을 검색해서 설치해 준다 만약 검색했는데 패키지가 뜨지 않는다면, Packages가 In Project가 아닌 Unity Registry로 체크되어 있는지 확인하자 설치가 끝났으면 Hierarchy 창에서 우클릭 후 Cinemachine > 2D Camera를 선택해서 추가해 준다 Virtual Camera라고 이름 붙어 새로 생긴 오브젝트를 보면 CinemachineVirtualCamera라는 컴포넌트가 있는데, 이곳의 Fo..