개발 이슈 2019. 10. 11. 17:44
728x90

 

 

 

화면 중심에 딱맞게 투사체를 보내는 작업을 하는 도중

당연하지만, 헷갈릴수 있는 부분을 발견했다

 

위 스샷의 경우,

카메라는 주캐릭터의 눈의 위치에 붙였고, 카메라 dir 의 반대방향으로 조금 밀어넣은 상태

 

즉, 화면상에서의 카메라의 위치는 정중앙이고, 

(언제나 카메라의 위치는 2d 좌표로 화면의 정중앙일수밖에 없다, 카메라의 위치로부터 뷰를 만들어내기 때문에)

 

카메라의 dir 이 화면 안쪽을 향하고 있으니, dir 의 반대방향은 화면의 바깥쪽이다

(쉽게 이야기하면, 카메라의 위치는 캐릭터 눈의 뒤쪽이다)

 

투사체는 정석적으로 카메라위치에서 카메라방향으로 쏜 것이고,

위치상으로 화면의 중심뒤에서 중심앞으로 날아가야 한다

즉, 어쨋거나 날아가는 투사체는 화면 정중앙에 위치해야 한다

 

그런데 보다시피, 화면의 오른쪽에서 투사체가 날아가고 있다

분명히 화면 정중앙에 위치해야 하는데

왜 그럴까??

 

일단, 답은 간단하다

 

캐릭터 모션이, 고개를 왼쪽으로 숙이고 있기 때문이다.

 

투사체가 쏘아져 날아갈때, 

투수가 공을 던지는 것처럼 모션이 잡혀있어서, 왼쪽아래로 고개를 숙이니까

투사체는 화면의 오른쪽에 위치하게 된다

 

그런데 이게 뭐 별거라고?

당연한 이야기인데??

 

그런데 실제 게임상에서 테스트를 해보면,

투사체가 절대로 화면 중심에서 쏘아져 나가는 것으로 보이지 않는다는 것이 함정이다

투사체가 화면의 오른쪽에서 발사되는 것으로만 보여진다는 것

즉,

게임플레이어는 투사체를 던질때 오른쪽에서 발사되는 것으로 인지한다

 

나 역시

분명 중앙에서 쏜 투사체가 오른쪽에서 발사되는 것으로 보이니,

관련 코드를 다시 점검해볼 정도였다

(투구 모션만 빼면, 정확히 화면 중앙에 위치한 투사체를 볼수있었다)

 

결론은 순전히 모션때문에 그렇게 보인다는것인데,

 

당연하기도 하고,

헷갈리기도 하고,

재미있는 부분이기도 하다

728x90

'개발 이슈' 카테고리의 다른 글

테셀레이션?  (0) 2020.01.05
무한 배경  (0) 2019.11.18
게임 디자인 원리 (book)  (0) 2018.12.18
마우스값에는 tick 을 곱해줘야 할까?  (0) 2018.08.21
볼륨 렌더링  (0) 2016.09.29
posted by BK dddDang
: