TPS Strafing System
Last updated
Last updated
TPS Strafing System은 3인칭 슈팅(TPS) 게임에서 널리 사용되는 이동 방식으로, 캐릭터가 카메라의 방향을 기준으로 움직이며, 상체는 조준점을 향한 상태를 유지하고 하체는 이동 방향에 맞춰 움직입니다. 이를 통해 상하체 애니메이션이 독립적으로 재생되며, 보다 자유로운 조준 및 이동 컨트롤이 가능해집니다.
Level Browser에서 Players를 선택한 다음, Use Strafing Animations를 활성화합니다.
이 옵션이 비활성화되어 있으면 단일 이동 애니메이션이 재생됩니다.
이 옵션을 활성화할 경우, 대각선을 포함한 상하좌우 8방향 애니메이션이 이동 방향에 맞춰 재생됩니다. 이를 통해 게걸음(Strafing), 후진, 대각선 이동 등 다양한 방향의 이동이 자연스럽게 표현됩니다.
Use Strafing Animations 옵션만 단독으로 활성화했을 경우, 시각적인 차이가 뚜렷하지 않을 수 있습니다. 이 기능은 아래의 설정들과 함께 사용해야 효과를 제대로 확인할 수 있습니다.
UserGameSettings의 RotationType을 CameraRelative로 설정하여 캐릭터가 카메라 방향을 기준으로 회전하게 설정합니다.
(기존 설정으로 복구하려면 Enum.RotationType.MovementRelative로 설정하면 됩니다.)
StarterCharacterScripts에서 LocalScript로 아래의 코드 작성:
Use Strafing Animations 옵션이 활성화된 상태에서 캐릭터의 회전 방향을 카메라 기준(CameraRelative)으로 설정하면, 캐릭터는 항상 카메라 방향을 바라보게 됩니다. 이를 통해 상체는 카메라(조준 방향)을 기준으로, 하체는 이동 방향을 기준으로 각각 독립적인 애니메이션이 재생됩니다.
RotationType이 CameraRelative로 설정된 경우, 캐릭터가 카메라 방향을 따라 회전하는 속도는 CharacterTurnRateWhenUsingCameraRelative 값을 통해 조절할 수 있습니다. (이 값의 기본값은 -1이며, 이는 즉시 회전함을 의미합니다.)
CameraOffset 속성으로 카메라의 상대 위치를 설정할 수 있습니다. 특히 TPS 게임에서는 캐릭터를 화면 중앙에서 약간 벗어난 위치에 배치함으로써, 조준점과 캐릭터가 시각적으로 겹치지 않도록 설정하는 데 활용됩니다.
StarterCharacterScripts에서 LocalScript로 아래의 코드 작성:
Use Strafing Animations 옵션과 무관하게 캐릭터는 상체와 하체 애니메이션을 분리하여 재생할 수 있습니다. 애니메이션 트랙의 UpperBodyAnimation 속성을 true로 설정하면, 해당 애니메이션은 상체에만 적용되어 재생됩니다.
StarterCharacterScripts에서 LocalScript로 아래의 코드 작성:
Use Strafing Animations 옵션과 UpperBodyAnimation을 함께 사용하면, 상체는 조준 방향, 하체는 이동 방향을 기준으로 동작하여 보다 자연스럽고 역동적인 캐릭터 애니메이션을 구현할 수 있습니다.
총기 장착 여부에 따른 RotationType 설정
총기를 장착하지 않은 상태에서는 MovementRelative로 설정하여 일반 이동 처리
총기를 장착한 상태에서는 CameraRelative로 설정하여 시야 고정 이동 처리
투척류 무기를 장착한 상태에서 조준 여부에 따른 RotationType 설정
미조준시에는 MovementRelative로 설정하여 일반 이동 처리
조준시에는 CameraRelative로 설정하여 시야 고정 이동 처리
무기 종류별로 CameraOffset를 다르게 처리