3인칭 캐릭터를 그대로 1인칭 시점에 사용하면, 카메라가 캐릭터의 얼굴이나 목, 상체 안쪽으로 들어가면서 화면이 가려지는 문제가 발생했다. 이 글에서는 해당 문제의 Try&Error를 기록했다.


처음에는 Use Controller Rotation Pitch를 켰다

가장 먼저 시도한 방법은 캐릭터 Blueprint에서 Use Controller Rotation Pitchtrue로 켜는 방식이었다. 이 설정을 켜면 마우스 위아래 입력에 따라 Pitch 값이 바로 반영되기 때문에, 카메라를 위아래로 움직이는 것 자체는 쉽게 된다.

image-1776944211651

하지만 이 방식은 원하는 결과가 아니었다. Pitch가 카메라 시점만 바꾸는 것이 아니라 Character Actor 전체에 적용되기 때문에, Capsule과 Mesh 전체가 함께 위아래로 기울어졌다. 결국 FPS 시점에서 원하는 팔과 시점만 반응하는 회전이 아니라, 몸 전체가 통째로 회전하는 문제가 생겼다.

즉, Use Controller Rotation Pitch는 1인칭 시점 변환을 만들기에는 너무 큰 단위의 회전을 적용하는 설정이었다.

Pitch 회전은 막고 AimOffset으로 넘겼다

image-1776943881852

다음으로는 Aim Offset을 이용하는 Blend Space를 만들었다.
캐릭터 전체 Pitch 회전을 끄고, Pitch 값을 애니메이션 쪽으로 넘기는 구조로 바꿨다.

정리하면 방향은 다음과 같았다.

  • Use Controller Rotation Pitch = false
  • Camera는 Use Pawn Control Rotation = true
  • Pitch 값은 ABP_FPSCharacter로 전달
  • AO_Rifle에 Pitch를 적용해서 팔과 무기 포즈만 위아래로 움직이게 구성

이 구조로 바꾸자 몸 전체가 회전하는 문제는 사라졌다. 카메라는 정상적으로 위아래를 보고, 캐릭터는 통째로 기울어지지 않으며, 상체와 팔만 AimOffset으로 반응하게 되었다.

이 단계까지는 의도한 방향에 꽤 가까워졌다. 다만 새로운 문제가 남았다.

그래도 3인칭 전신 Mesh가 카메라를 가렸다

image-1776943848446

문제의 핵심은 캐릭터가 여전히 3인칭 전신 Mesh를 사용하고 있다는 점이었다. Pitch를 직접 몸 전체에 주지 않더라도, 카메라가 전신 Mesh의 머리와 목 근처에 위치하고 있기 때문에 시점을 위아래로 움직일 때 얼굴, 목, 어깨가 카메라 앞으로 들어왔다.

즉, 회전 방식의 문제는 해결했지만, 전신 Mesh를 1인칭 시점에서 그대로 보고 있다는 구조적 한계는 그대로 남아 있었다.

그래서 이번에는 애니메이션이 아니라 가시성 쪽에서 문제를 줄이기로 했다.

마지막으로 neckhead를 숨겼다

현재 적용한 방식은 1인칭에서 가장 직접적으로 시야를 가리는 본을 숨기는 것이다.
BeginPlay에서 전신 Mesh에 대해 다음 흐름을 추가했다.

image-1776943818638

이렇게 하자 카메라 앞을 가장 많이 가리던 얼굴과 목 부분이 제거되어, 1인칭 시점에서 화면이 막히는 현상이 많이 줄었다. 완전한 1인칭 전용 리그는 아니지만, 3인칭 캐릭터를 그대로 사용하는 상태에서 비교적 보수적으로 적용할 수 있는 방법이었다.

현재 상태는 다음과 같이 이해하면 된다.

  • 몸 전체 Pitch 회전은 사용하지 않음
  • 시점 변화는 Camera와 AimOffset으로 처리
  • 1인칭 시야를 막는 head, neck_01은 숨김

앞으로 할 일: 그림자에서는 목과 머리가 보이게 만들기

지금 방식의 단점은 단순히 본을 숨기면, 시야에서는 깔끔해지지만 그림자에서도 목과 머리가 사라질 수 있다는 점이다. 그러면 3인칭 캐릭터의 그림자가 어색해 보일 수 있다.

image-1776943987887

다음 단계에서는 로컬 플레이어의 1인칭 시야에서는 neckhead를 숨기되, 그림자에서는 여전히 보이도록 바꾸는 작업을 진행할 계획이다.

방향은 크게 두 가지를 검토하고 있다.

  1. 전신 Mesh는 그림자 전용으로 유지하고, 1인칭에서만 보이지 않게 처리
  2. 1인칭 전용 Arms Mesh를 따로 두고, 전신 Mesh는 Owner에게는 숨기되 그림자는 유지

장기적으로는 두 번째 방식이 더 안정적이다. 전신 Mesh는 그림자와 타인이 보는 캐릭터 용도로 남기고, 로컬 플레이어 화면에는 1인칭 전용 팔과 무기만 렌더링하는 구조가 가장 깔끔하다.

정리

이번 문제를 해결하면서 실제로 거친 단계는 아래와 같다.

  1. Use Controller Rotation Pitch를 켜서 몸 전체가 회전하는 문제를 확인
  2. Pitch 회전은 끄고 AimOffset(AO_Rifle)으로 넘겨 팔과 시점만 반응하도록 수정
  3. 그래도 3인칭 전신 Mesh의 얼굴과 목이 카메라를 가리는 문제 확인
  4. head, neck_01 본을 숨겨 1인칭 시야를 확보
  5. 다음 단계로는 그림자에서는 목과 머리가 보이도록 구조를 보완할 예정

'TIL' 카테고리의 다른 글

Rendering : Forward, Deferred  (0) 2026.05.04
TEXT RPG 2  (0) 2026.04.29
TEXT RPG 1  (0) 2026.04.28
EventGraph  (0) 2026.04.24
UE5 FPS 총 발사, 이펙트, 사운드, HUD 간단 구현 정리  (0) 2026.04.22