3인칭 시점의 카메라는 비주얼적으로도 비즈니스 적으로도 이점이 강한 카메라 뷰이다. 1인칭과 다르게 플레이어가 조작하는 캐릭터의 외형을 모두 살펴볼 수 있으며, 1인칭 보다 시야각이 훨씬 넓어 플레이어가 비교적 덜 답답하게 느낄 수 있기 때문이다.
3인칭 백뷰 방식의 시점은 Unity에서 어떻게 구현할 수 있을까요? 플레이어 캐릭터의 움직임은 어떻게 구현하며 어떻게 유동적으로 할당 키를 변경할 수 있을까요?
모든 소스코드는 수정될 확률이 있습니다. 기획변경에 의해서 수정될 수 있고, 버그 픽스를 위해 수정될 수도 있고, 무슨 이유에든 한 번 작성된 소스코드가 프로젝트 끝까지 절대불변한다고 확신할 수 있는 사람은 없을 것입니다.
개발은 결국 비용과의 싸움입니다. 여기서 비용은 조금 포괄적인 개념입니다. 돈이 될 수도 있고, 시간(일정)이 될 수도 있고, 연산에 필요한 데이터를 메모리에서 가져오는 행위도 될 수 있습니다.
기존 인벤토리의 경우에는 아이템 상호작용 구현에만 초점이 맞춰져 있었기 때문에 아이템 종류에 따른 슬롯 위치가 알맞지 않았습니다. 게다가 주무기가 2개 이상 주워진다던가, 다른 종류의 장비로의 스왑이 원활하지 않은 문제가 발생했었습니다.
기존의 아이템 상호작용은 장비형 아이템에 대한 습득과 착용에는 문제가 없었지만, 습득 후 착용하지 않는 아이템에 대해서는 문제가 발생했습니다. 특히, 총알같이 같은 종류의 아이템의 스택이 증가하는 형태의 아이템이 스택되지 않거나 하는 등의 문제가 발생했었습니다.
총을 사용하기 위해서는 당연하게도 총알이 필요합니다. 그러니 총을 사용할 수 있도록 총알을 충전하는 것은 매우 중요하다고 할 수 있습니다. 여러 슈팅게임에서 재장전은 당연하게도 존재합니다. 하지만 재장전의 방식에는 여러가지가 존재합니다.
탄창에 총알을 채웠으니 이제 방아쇠를 당겨야 할 차례입니다. 발사된 총알은 총구를 통해 날아가게 되지만 무조건 총구가 향한 방향으로 날아가진 않습니다. 총알의 종류나, 강선의 회전, 총기에서 발생한 진동 등 여러가지 요인으로 인해 총알의 비행을 방해하기 때문입니다.