Unreal Version : Unreal 4.24.3
프로젝트 목적 : Unreal 4 기능 Blueprint 기능의 숙달과 이를 바탕으로 프로그래밍 심화를 하기 위하여 BluePrint 기능만을 사용한 프로젝트 제작
샘플게임에 유의하여 간단하게 게임 유저 세팅에 적용 현재 옵션마다 바로 확인을 위하여 바로 적용이 되게끔 수정하였고 추후 하단부 게임유저세팅에 적용하는 Apply Setting 으로 전체 적용되게끔 예정 대부분 위와 같은 형식으로 언리얼에서 제공하는 API를 이용하여 옵션 기능 구현
L1_Character
L1_Character BP에서 게임 플레이에 필요한 초기 세팅
● BPC_Movement/BPC_Flashlight/BPC_Inventory/BPC_Health 세팅
● Set Character Default Movement<걷기/달리기/앉기/좌우기울기/점프>
● Set Camera PostProcess
● 물체와의 상호작용(BPI_Interection) // Character 캐릭터의 Action에 반응하는 Item BP에 대해서는 BPI_Interection을 구현 후 메시지 전달
● FlashToggle Action
● L1_Character의 위젯(W_MianHUDRef) 생성
● PlayFootStep<발자국 사운드>->걷는 Ground의 Physical Material이 다르면 사운드 교체(Ground에 맞는)
● L1_Character의 위젯(W_MianHUDRef) 생성
● L1_Character Location 과 Enemy_Character Location 지근거리시 Catch Event 생성
BPC_Inventory
Actor Component로써 L1_Character에 추가 게임에 추가된 아이템들이 L1_Character를 통해 BPC_Inventory 접근 하도록 설계
● Add Item
● Use Item
● Remove Item
● Drop Item
● Update Inventory Slots
● Add More Slots
S_ObjectiveData 구조체를 생성
IDName / Name
ObjectiveTitle / Text
ObjectiveCompleted / Bool
형식의 구조체를 생성 L1_GameState를 통하여 퀘스트 시스템을 관리하게끔 설계
Quest 구조도
- BPI_Objective_Call (SetNextObjective<다음 퀘스트> / CompleteObjectiveCall<퀘스트 완료 후 다음 퀘스트>) 인터페이스 생성 L1_GameState BP에 해당 인터페이스 이벤트 함수 구현
- 퀘스트 상황에 맞는 BP에 BPI_Objective_Call 구현 후 퀘스트 상황에 맞는 Interface 메시지 생성 *타깃은 GameState 설정
- L1_Gamestate에 Interface 메시지가 전달되면 상황에 맞게 처리
● AI Perception 설정 (AISense_Sight를 설정)
● OnTargetPerceptionUpdateed 를 통해 BlackBoard Target값 Update ● Behavior Tree와 BlackBoard를 관리 구동