벡터에 대한 개인적인 견해
게임 개발에서 수학은 뗼 수 없는 부분이라고 생각한다.
플레이어나 npc들이 존재할 월드를 생성하고 그 월드에 대한 법칙을 개발자들이 정하기 떄문이다.
마치 현실에서 우리가 지구의 중력에 영향을 받아 땅에 걸어다니는 것 처럼 우리는 게임에서의 모든 물리 법칙을 일일이 만들어 줘야 한다.
포탈
예를 들어 내가 만들고 싶은 게임이 포탈이라고 한다고 하자.
빨간 포탈과 파란 포탈이 존재할 때 우리가 빨간 포탈을 통해 파란 포탈 너머의 공간을 보고 싶다고 하면, 플레이어의 위치 벡터, 플레이어가 가지고 있는 카메라가 바라보는 방향 벡터와 각 포탈의 위치 벡터들을 이용해야만 이러한 작업들을 수행할 수 있다.
위 그림처럼 각 포탈은 법선 벡터가 다르기 때문에 이 각 포탈의 법선벡터를 통해서 기존의 카메라의 방향벡터를 다른 포탈의 기준으로 변환 해줘야한다.
앵그리버드
이외에도 총알을 발사하는 등 어떤 물체에 힘을 가할 때 벡터라는 방향과 스칼라의 값으로 우리는 물체의 충돌과 물리 법칙을 구현할 수 있다.
앵그리버드에서는 새를 날릴 때 방향과 세기가 벡터로 표현되고, 이 때 날아가는 궤적을 미리 보여준다.
많이 땡기면 땡길수록 세기가 강해지고, 발사각은 유저가 조종할 수 있다.
스테이지가 바뀌면서 외부 요인이 추가된다면, 우리는 이러한 요소들을 벡터를 사용하여 구현할 수 있을 것이다.