시스템 / Quests
Quests System Fab에서 판매 중
싱글플레이어 게임을 위한 데이터 기반 퀘스트 시스템으로, 인터페이스까지 완성되어 있습니다. 퀘스트는 Data Asset이고, 게임은 노드 하나로 일어난 일을 알리며, 차분한 HUD가 이를 보여 줍니다. 트래커, 알림 대기열, 저널, 퀘스트 제안, 퀘스트 대화, 월드 마커, 나침반. 모든 것이 하나의 스냅샷에 저장됩니다.
1분 46초: 퀘스트 제안, 대화, 트래커, 나침반, 저널, 데모. 음악만 포함.
소개용 캐릭터는 포함되지 않습니다. 트레일러와 이미지의 캐릭터(Kay Lousberg의 KayKit Adventurers, CC0)는 패키지에 들어 있지 않습니다. 데모에는 전용으로 만든 단순한 리깅 피규어 3개가 들어 있습니다.
주요 기능
테스트 완료: UE 5.3 및 UE 5.8(Windows)에서 자동 테스트 61개를 통과합니다. i7-14700과 RTX 4060에서 1920x1080으로 측정: 데모 맵은 프레임당 12.2 ms, 퀘스트 HUD는 게임 스레드에서 0.07 ms를 사용합니다.
데이터로 만드는 퀘스트
퀘스트는 카탈로그에 담긴 Data Asset입니다. 병렬 목표를 가진 단계, 선택 목표와 숨겨진 목표, 선행 조건, 레벨 및 월드 조건, 시간 제한, 쿨다운이 있는 반복 퀘스트, 탐험으로 발견하는 숨겨진 퀘스트를 지원합니다.
목표 유형 열 가지, 노드 하나
Kill, Collect, Deliver, Talk, Explore, Craft, Escort, Defend, Puzzle, Custom. 게임은 ReportEvent로 일어난 일을 알리고, 이벤트는 그것을 기다리는 목표에만 전달됩니다.
보상과 저장은 게임의 몫
보상은 게임에 전달될 뿐, 몰래 적용되지 않습니다. 모든 상황에 이벤트가 있으며, 스냅샷 하나가 모든 퀘스트를 SaveGame용으로 담습니다.
퀘스트 대화
퀘스트 제공자는 제안 전에 말하고, Accept 또는 Decline에 답하며, 진행 중 대사를 하고, 보상 전에 감사를 전합니다. 글자는 한 자씩 나타납니다. 말하는 캐릭터는 애니메이션하고, 플레이어를 향해 돌아서고, 글에 맞춰 입을 움직일 수 있습니다.
트래커와 알림
트래커는 오른쪽 위 모서리 아래에 있어 모서리는 미니맵을 위해 비워 둡니다. 알림은 우선순위 대기열에서 기다립니다. 메인 퀘스트 먼저, 완료가 시작보다 먼저입니다.
저널과 제안 패널
진행 중, 완료, 실패를 카테고리별로 묶고 검색과 다섯 가지 정렬을 제공합니다. 제안 패널은 누가 퀘스트를 제안하는지, 목표와 보상을 보여 줍니다.
월드 마커와 나침반
추적 중인 목표에 거리와 함께 마커와 화면 가장자리 화살표를 표시합니다. 나침반은 플레이어를 중심에 두고, 돌아설 때 목표가 미끄러지듯 지나갑니다.
접근성과 도구
키보드, 마우스, 게임패드 지원. 글자 크기, 모션 줄이기, 색에만 의존하지 않는 표시. 콘솔 치트, 디버그 패널, Quest Editor가 포함됩니다.
빠른 시작
매니저 추가
PlayerController에 BP_QuestManagerComponent를 추가하고 Catalog를 지정합니다.
HUD 표시
WBP_QuestHUD를 만들어 뷰포트에 추가하고 매니저로 Setup을 호출합니다. 저널 키에서 ToggleJournal을 호출합니다.
일어난 일 알리기
게임에서 ReportEvent를 호출하고, 퀘스트 제공자와 오브젝트에 BP_QuestTargetComponent을 붙입니다.
조건과 보상 연결
PlayerController에 BPI_QuestWorld를 구현합니다.
하지 않는 일
- 캐릭터는 포함되지 않습니다. 매니저는 사용 중인 PlayerController에 추가합니다.
- 분기 대화는 없습니다. 선택지는 Accept와 Decline뿐입니다.
- 미니맵은 없습니다. HUD가 미니맵을 위한 모서리를 비워 둡니다.
- 오디오는 포함되지 않습니다. 각 알림, 저널, 제안 패널, 대화에는 직접 넣을 수 있는 빈 사운드 슬롯이 있습니다.
- 멀티플레이와 리플리케이션은 지원하지 않습니다.
- 인터페이스는 영어로만 제공됩니다.
- UE 5.4~5.7은 테스트하지 않았습니다.