Unreal Engine: Ultimate Survival Horror Course
레벨 목표 정보를 저장할 S_ObjectiveData Structure를 생성한다.
레벨 목표를 띄울 W_Objectives 위젯을 생성한다.
목표 텍스트를 변경하는 UpdateObjectiveText 이벤트를 생성한다.
W_MainHUD 메인 위젯에 W_Objectives 위젯을 추가한다.
L1_GameState에 레벨 목표를 구현하기 위한 함수들을 생성한다.
현재 목표를 반환하는 FindCurrentObjective 함수를 생성한다.
- 실행 핀이 없는 Pure Function으로 생성한다.
W_Objectives 위젯의 텍스트를 현재 목표로 설정하는 SetObjective 함수를 생성한다.
목표를 초기화하기 위한 Initialize 함수를 생성한다.
현재 목표를 완료하는 CompleteObjective 함수를 생성한다.
Array - FIND 노드를 이용해 배열에서 값을 검색할 수 있다.
L1_Character의 Initialize에서 목표를 초기화하는 L1_GameState의 Initialize 함수를 호출한다.
BPI_ObjectiveCall 인터페이스를 생성한다.
CompleteObjectiveCall 인터페이스 함수를 생성하고 ObjectiveID, SetNextObjectiveImmediately를 입력으로 받는다.
SetNextObjective 인터페이스 함수를 생성하고 ObjectiveID를 입력으로 받는다.
L1_GameState에 BPI_ObjectiveCall 인터페이스를 추가하고 함수들을 구현한다.
BP_PickupActor_Master에서 ADD ITEM 부분을 PickUpItem 함수로 만든다.
아이템 획득에 성공했는지 반환하는 Return Node를 추가한다.
BP_PickupActor_Flashlight에서 BP_PickupActor_Master의 PickUpItem 함수를 override한다.
부모 함수를 호출한 후 배터리 획득 목표를 완료하는 부분을 추가한다.
BP_InventoryItem_FlashlightBattery의 Use Item 함수에도 배터리 사용 목표를 완료하는 부분을 추가한다.
레벨 블루프린트의 트리거 박스의 오버랩 이벤트에 마지막 노이즈 확인 목표를 설정하는 부분을 추가한다.
성공적으로 레벨 목표를 구현했다.
'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글
포스트 프로세싱 (0) | 2023.02.18 |
---|---|
몸 내밀기 기능 구현 (0) | 2023.02.17 |
컷신 제작 (0) | 2023.02.16 |
발자국 소리 적용 (0) | 2023.02.15 |
갑툭튀 효과 구현 (0) | 2023.02.15 |