군침이 싹 도는 코딩

Unreal engine 5 1인칭 3인칭 전환을 쉽게 해보자 본문

Unreal Engine 5

Unreal engine 5 1인칭 3인칭 전환을 쉽게 해보자

mugoori 2023. 12. 7. 15:28

# 위와 같은 1인칭 3인칭 카메라 전환을 쉽게 만들어보자

 

# 먼저 인풋 액션을 만들어주자

컨텐츠 브라우저에서 우클릭 > Input > Input Action

이름을 적당히 바꿔주고 안에 설정은 건드릴 필요가없다

 

# 그 후 인풋 매핑 컨텍스트를 만들어주자

Input > Input Mapping Context 

이름은 적당히 지어준다

 

# Mappings 탭 옆에 플러스 버튼을 누르고

만들어 두었던 Input Action 을 넣어주고 사용하고싶은 버튼을 지정해준다음 저장한다

 

# 카메라 붐을 1인칭 3인칭으로 사용할것을 두개 만든다 

카메라 붐을 만드는 방법은 Add 를 클릭하고 Spring Arm을 선택하면 된다

1인칭 카메라 붐의 디테일 패널에서 Target Arm Length 50으로 조절한다

이것으로 붐에 카메라를 이동시켜주면 1인칭 3인칭 전환이 된다 이것을 노드로 구현해보자

 

# 구현하고싶은 블루프린트 클래스에 들어가서 노드를 작성한다

전체노드는 이렇고 부분별로 잘라서 보겠다

 

# 먼저 만들어두었던 인풋액션 이벤트를 불러온다

여기서 Started 는 눌렀을때 Completed 는 땠을때의 동작을 말한다

그 뒤에 노드들은 조준이 됐을때를 검사하는것과 조준점 위젯이므로 없어도 무방하다

 

# 다음으로 Use Controller Rotation Yaw 와 Orient Rotation To Movement 옵션을

1인칭일때와 3인칭일때를 각각 수정해준다

Use Controller Rotation Yaw 은 마우스나 컨트롤러가 움직일때 캐릭터가 같이 회전한다

Orient Rotation To Movement 은 캐릭터가 이동하는 방향으로 자동으로 회전하게 한다

 

# Attach Component To Component 노드를 사용해서 카메라 붐을 이동시켜준다

1인칭 3인칭 카메라붐을 각각 Parent 에 연결하고 카메라를 Target 에 연결한다

그 뒤 Location Rule 을 Keep World 로 변경한다 상대좌표에서 절대좌표로 변경하는것이다

마지막으로 Move Component To 노드에 연결하고 카메라를 Component에 연결하면 끝이다