본문 바로가기
언리얼엔진

[블루프린트] 3인칭 카메라에서 1인칭으로 바꾸는 방법

by 송파감자 2023. 3. 9.

3인칭->1인칭 바꾸는 이유

넓은 공간에서 좁은 공간으로 이동할 때

예를 들면 엘리베이터를 타는 경우 3인칭 카메라로 보면 시야를 가려 1인칭으로 바꾼다.

 

이걸 노드로 짜는 방법은 아래와 같다. 

완성 샷은 맨 아래에서 추가해뒀다.

 

1. 블루프린트(ThirdPersonCharacter)에 Custom Event를 추가

2. 카메라 붐을 드래드해서 이벤트 그래프에 끌고 와서 Set Socket Offset 타깃에 연결(구조체 핀분할)

  • Socket Offset Y Lerp 연결(B값 20.0 수정)
  • Socket Offset Z Lerp 연결 (B값 60.0 수정) -> 왜 이렇게  값 수정했는가는 아래 OS 샷 설명을 보면 알 수 있당

 

3. Target Arm Length 연결

  • 타깃->카메라붐 
  • TargetArmLength-> Lerp(A값 300으로 수정)

 

4. 타임라인을 추가할 건데 얘는 커스텀 이벤트 바로 뒤에 넣어줌

  • 자연스럽에 이동시키려고 추가함 
  • float으로 1.0초로 길이 잡고 자동/ 평탄화해줌
  • Update로 뒤에 노드 연결

5. 2번, 3번에서 만든 Lerp의 알파값을 모두 타임라인 새트랙에 연결

6. 타임라인 Finished-> FlipFlop 

  • A  ->  Set Visibility (타깃은 Mesh)
  • B   -> Set Visibility (타깃은 Mesh)
  • IsA  -> Not -> New Visibility

 

7. 타임라인 앞에 FlipFlop 추가

  • A -> Play
  • B -> Reverse

 

위 노드를 짜기 전 알면 좋은 OS샷

수업에선 쌤이 이 얘기부터 알려줬다. 

현재 국비지원으로 에티버스러닝에서 학습 중인데 :)

이게 무슨 뜻이냐면? 오버 더 숄더 샷이라는 뜻인데 아래 이미지와 같이 영화에서 자주는 봤던 어깨 넘어 샷이다.

언리얼에서 카메라를 Y축으로 살짝 움이면 이 오버더 숄더샷을 연출할 수 있고, 소켓 오프셋도 살짝 아래와 같이 손 봐줬다.

 

완성한 노드

클릭해서 크게 보셔유

 

근데, 더 간편하고 쉬운 방법!

이건 수업 시간에 들었는데 까맣게 잊고있다가 어제 인강에서 새로 알게 됐다고 생각했는데,

지금 복습하면서 내 원노트에 엄청 또렷하게 적혀있었다...

  • 엘리베이터에 콜리전 박스 설치해서 
  • 콜리전 프리셋 ->  커스텀 -> 카메라 블록 설정

이렇게 하면 그 박스 안으로 들어갈 때 카메라가 블록되기 때문이당!