프로그래밍 2019. 10. 18. 12:49
728x90

 

 

 

 

오버워치에서 시메트라가 투사체를 날리는 장면이다

사실, 위 샷에서는 물리적으로 말이 안되는 부분이 있다

현실적으로는 있을수 없는 현상인데,

게임 안에서는 종종 사용되고, 유저들 또한 전혀 이상함을 느끼지 않는다

 

어떤 부분일까?

 

시메트라가 날리는 투사체는 화면 정중앙으로 날아간다

그렇지, 당연하지, 맞잖아?

 

그런데, 시메트라가 쏘는 총의 위치는 화면의 정중앙이 아니다

정중앙에 비해 화면 오른쪽, 밑쪽에 위치해 있다

여기서 쏜 투사체가 화면 정중앙 방향만 따라 날아갈수 있을까?

 

게임 안에서는 워낙에 익숙한 장면이라 전혀 이상함을 느끼지 않을 것이다

3차원 뷰에서는 깊이감이 있으니까 

좀 비켜선 위치에서 쏘아도 화면의 중심으로 깊이감있게 날아간다고 생각하면

이해가 되기도 한다

 

그런데, 

총구의 위치에 대해서 좀더 파고들어 보자

 

총을 쏠때, 총알은 총구의 방향 그대로 직선으로 날아간다

 

위샷을 실제 현실로 생각해보자

총은 화면중심이 아닌, 오른쪽에 있고, 총구는 화면 중심으로 향하고 있다

총알이 나갔을때, 과연 총알은 어디로 날아가게 될까?

 

 

 

녹색원이 화면 중심,

보라색이 총,

노란타원에서 발사

빨강색이 탄환이라고 하자

 

탄환은 중앙을 지나칠수 있다

그러나 결국 발사위치가 중앙위치에서 어긋난만큼

다른 방향으로 날아가게 된다

 

총구의 위치가 중심이 아니라면,

총구는 중심을 향하게 기울여줘야 하고,

결국

탄환은

화면중심으로만 정확하게 이동할수 없다는 것이다

 

그런데, 게임안에서는?

총의 위치가 오른쪽이던, 왼쪽이던, 위던, 아래던

탄환은 화면중심으로만 날아가는 것처럼 보인다

 

 

총구를 기울이지 않고, 똑바를때

탄환을 그대로 쏘았다고 한다면,

 

총의 위치가 오른쪽에 있으면 앞으로 쭉 날아가지만, 절대로 화면 중심으로 날아갈수는 없다

이건 3D화면으로 테스트 해보아도 마찬가지다

화면 중심의 오른쪽으로 쭉 날아가게 된다

 

화면 중심으로 정확하게 탄환이 날아가려면,

화면의 중심위치에서, 중심 방향으로 쏘는수밖에 없다

(현실적으로도 그렇고, 프로그래밍적으로도 그렇다

다른 방법이 없다!)

이럴 경우에만, 탄환은 정확하게 화면 중심으로 날아가게 된다

 

 

 

 

이론적으로는

 

시메트라가 쏜 투사체는 화면 중심쪽으로 날아가겠지만

결국, 중심을 벗어나서 날아가게 된다

 

그리고, 그 중심까지 도달하게 될때에도

결코 중심방향으로 날아가는 것이 아니라,

중심에서 비켜난채 날아가게 되는것이 맞다

 

 

그런데 오버워치에서 샷 테스트를 해보면,

시메트라가 쏜 투사체는 화면 중심으로만 이동하는 것으로 보인다

절대로 화면 중심을 벗어나지 않는다

아무리 가깝게 또는 멀리 쏘아도

 

도대체, 시메트라가 쏜 투사체는 

어떻게 오른쪽 옆에서 쏘았는데

꿋꿋하게 화면 중심경로로 이동할수 있는 것일까?

 

......

 

 

여기에는 꼼수가 있다

2장으로~

 

 

 

하트 콕~! ^^

728x90

'프로그래밍' 카테고리의 다른 글

fps 뷰 투사체 쏘기 - 마지막장  (0) 2019.10.18
fps 뷰 투사체 쏘기 - 2장  (0) 2019.10.18
쉐이더 외곽선 구현 3장  (0) 2019.09.06
쉐이더 외곽선 구현 2장  (0) 2019.09.06
쉐이더 외곽선 구현 1장  (0) 2019.09.05
posted by BK dddDang
: