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

 

맵을 좀 더 크게 만들자.


Alt + Shift를 누르고 액터를 복사하면 카메라가 같이 따라오게 된다.

 

어두운 상태에서 Unlit 모드를 선택하면 빛의 영향을 받지 않은 상태로 볼 수 있다.

 


웅크리기, 달리기 등 움직임 제어를 위한 액터 컴포넌트를 생성한다.


액터 컴포넌트란 액터에 붙일 수 있는 컴포넌트이다.

월드에 배치는 불가능하다.

 


L1_Character에서 Add Component하여 붙인다.

 


BPC_Movement에서 Initialize 함수를 생성한다.

 


Initialize에 Character 타입의 Character 입력 변수를 생성한다.

 

Promote to Variable하여 PlayerRef라는 이름의 플레이어 캐릭터 참조 변수를 만든다.

 


L1_Character의 Initialize 함수에서 시퀀스를 만들고 BPC_Movement의 초기화 함수를 실행한다.

Self를 전달해 L1_Character가 Character 변수에 할당되도록 한다.

L1_Character의 부모 클래스가 Character이기에 가능하다.

 


BPC_Movement에서 SprintSpeed, WalkSpeed 변수를 추가하고 기본값을 설정한다.

 


Initialize 함수에서 플레이어 캐릭터의 이동 속도를 WalkSpeed로 설정한다.

 


CurrentStamina, MinStamina, MaxStamina 변수를 추가하고 기본값을 설정한다.

 


Initialize 함수에 현재 스태미나 초기화 부분을 추가한다.

 


StartSprint CustomEvent를 생성한다.

 


노드들을 선택한 후 우클릭 - Collapse to Function을 선택하면 하나의 함수로 만들 수 있다.


값을 드래그 후 함수에 Add pin to Node하면 함수에 입력를 추가할 수 있다.

 


SprintTimer 커스텀 이벤트를 생성한다.

 


C키를 누르면 주석을 달 수 있다.

 


StopSprint 커스텀 이벤트를 생성한다.

 


SetTimerbyFunctionName 노드는 일정 시간마다 지정된 함수를 실행시켜준다.

  • RetriggerableDelay와 다르게 다시 노드를 실행시켜 주지 않아도 알아서 실행된다.
  • IsTimerActiveByFunctionName을 통해 타이머가 실행 중인지 확인할 수 있다.
  • ClearTimerByFunctionName을 통해 타이머를 중지시킬 수 있다.

 


Input - Sprint 액션을 매핑하고 L1_Character에서 이벤트를 처리한다.

 


테스트 해보았으나 움직이지 않은 상태에서도 Shift를 누르면 스태미나가 다는 버그가 있다.

StartsPrint에 현재 스태미나와 플레이어가 이동 중인지 확인하는 부분을 추가한다.

 


이번에는 달리던 도중 Shift를 누른 상태에서 멈추면 계속 스태미나가 감소하는 버그가 있다.

 

SprintTimer에도 이동 중인지 확인하는 부분을 추가한다.

 


StopSprint에 스태미나 회복 기능을 추가한다.

RegenerateStamina 커스텀 이벤트를 생성한다.

 


달리기 시작하면 회복을 중단해야 하므로 StartSprint에 RegenerateStamina를 실행중인 타이머를 중지시키는 부분을 추가한다.

 

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

카메라 흔들림 구현  (0) 2023.01.30
웅크리기 기능 만들기  (0) 2023.01.29
전등 스위치 만들기  (0) 2023.01.28
깜빡이는 전등 만들기  (0) 2023.01.28
손전등 만들기  (0) 2023.01.27
profile

Make Unreal REAL.

@diesuki4

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

검색 태그