Make Unreal REAL.
article thumbnail
Unreal Engine: Ultimate Survival Horror Course

 

BP_Lock 자물쇠에 새로운 뷰를 보여줄 카메라를 추가한다.


위치와 FOV를 조정한다.

 

 

라인 트레이스를 위한 Box Collision을 추가한다.


Vector3 타입의 BoxPosition, BoxExtent 변수를 추가하고 Construct에서 Box Collision의 위치와 Scale을 조정한다.

  • Set Box Extent 노드를 이용해 Box Collision의 Scale을 조정할 수 있다.

 


레벨 뷰포트에서 BoxPosition과 BoxExtent 기본값을 조절하여 크기를 조정한다.

 

Construct에 등록 해 놓았음으로 변경할때마다 매번 실행되어 크기가 실시간으로 바뀐다.

 


BP_Lock에 BPI_Interaction 인터페이스를 추가하고 미니게임 뷰로 바꾸는 기능을 구현한다.


Player Controller - Set View Target with Blend 노드를 이용해 뷰를 다른 카메라로 변경할 수 있다.

  • Player Controller는 Pawn에 빙의한 상태이므로 시야에 관한 것은 여기서 처리한다.
  • New View Target에는 Camera 컴포넌트를 갖고 있는 액터를 전달한다.
    Camera - Get Owner와 Self는 같다.

 


Interact의 라인 트레이스 충돌 채널이 Visibility이기 때문에 Box Collision의 Visibility 채널도 Block으로 만들어 준다.

 


미니게임 뷰를 떠나는 ExitLockView 이벤트를 생성한다.

Set View Target with Blend 노드의 New View Target에 Get Player Character를 전달하면 메인 캐릭터의 뷰로 돌아온다는 의미이다.


Player Controller - Show Mouse Cursor 노드를 이용해 마우스 커서를 활성화할 수 있다.

 


돌아가기 키를 매핑한다.

 


다이얼을 돌릴 때 버튼으로 사용할 W_Arrow 위젯을 생성한다.

 

Draw As: Image로 변경한다.

  • 기본 값인 Box는 중심을 기준으로 이미지를 늘려버린다.

 


설정 값을 복사하여 붙여넣을 수 있다.

 


BP_LockDial에 UpArrow, DownArrow 위젯을 생성한다.

 


W_Arrow에서 버튼의 On Pressed 이벤트를 처리한다.

 


변수를 초기화하기 위한 Initialize 함수를 생성한다.

 

노드의 입력 핀을 드래그하여 함수에 가져다 대고 Add Pin to Node를 하면 바로 함수의 입력으로 만들 수 있다.

 


BP_LockDial에 아래 방향으로 다이얼을 돌리는 RotateDialBackwards 이벤트를 생성한다.

 

방향만 반대이므로 RotateDial에서 일부 값만 바꿔 만들 수 있다.

  • Timeline은 Direction 출력을 통해 진행 방향이 정방향인지 역방향인지 알 수 있다.

 


BP_Lock에 자물쇠 번호가 맞았을 경우를 처리하는 CheckEveryTurn 이벤트를 생성한다.

 


3차원 위젯과 상호작용하기 위한 Widget Interaction 컴포넌트를 추가한다.


Interaction 카테고리에서 상호작용에 관한 내용을 설정할 수 있다.

  • Interaction Source: Mouse로 변경한다.

 


Left Mouse Button 이벤트를 처리한다.

 

Widget Interaction의 Press Pointer Key와 Release Pointer Key 노드를 이용해 현재 마우스 좌표에서 3차원 위젯으로 마우스 이벤트를 전달할 수 있다.

 


BP_LockDial의 BeginPlay에서 각 위젯 버튼의 Initialize 함수를 호출한다.

 

자물쇠 미니게임 제작에 성공했다.

 

'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글

갑툭튀 효과 구현  (0) 2023.02.15
힌트 메모 제작  (0) 2023.02.14
자물쇠 열기 기능 구현  (0) 2023.02.12
숨기 기능 구현  (0) 2023.02.11
체력에 따른 피 효과 적용  (0) 2023.02.10
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그