레고® 액션 어드벤처 템플릿은 퀘스트, 전투, 퍼즐을 갖춘 클래식 액션 어드벤처 게임플레이를 위한 기본 구성 요소를 제공합니다. 무엇보다 이 템플릿은 여러분이 검증된 레고 조립 전문가임을 세상에 입증할 수 있도록 레고® 조립 장치를 선보입니다. 느긋한 분위기와 편안한 사운드를 즐기면서 이 경험에 빠져들어 보세요.
이 게임플레이에는 하나의 유니버스밖에 없지만, 수많은 세계를 구하고 수많은 역할을 해 볼 수 있습니다. 전사, 폭발병 또는 도둑이 되어 각 클래스 페르소나에 맞게 플레이 스타일을 바꿔 가면서 고유한 툴을 활용하는 퀘스트를 잠금 해제하세요. 각 클래스에서 영웅으로서의 임무를 수행하여 성가신 적들과 전투하면서 유니버스를 구하세요.
레고의 세계에서 영웅이 되면 보상이 따릅니다. 액션에 따라 스터드가 지급되며, 이 스터드를 사용하여 새로운 영역을 잠금 해제하는 사물을 조립하고, 퀘스트 요건을 충족하고, 게임 내 트로피를 잠금 해제할 수 있습니다. 각각의 클래스를 진행하면서 다양한 장애물을 헤쳐 나가다 보면 보상이 따르는 도전들을 마주하게 되어 긴장을 늦출 수 없습니다.
각 클래스 퀘스트의 끝에는 나쁜 바나나가 기다리고 있습니다! Verse 기반 공격 시스템에서 악당 NPC인 해골 필리와 보스 전투를 펼치는 것은 여러분의 몫입니다. 클래스마다 무기에 맞춰 전투 스타일을 바꿔 가면서 보스 전투를 경험할 수 있습니다.
퀘스트가 모두 끝나면 다음과 같은 워크스루와 튜토리얼을 통해 게임플레이를 마무리하고, 이 경험을 재현하기 위한 메커니즘을 학습하여 유니버스를 구하세요. 영웅의 모험에 행운이 따르길 빕니다!
레고 액션 어드벤처 템플릿에 액세스하기
UEFN 내에서 이 템플릿에 액세스하려면 다음 단계를 따르세요.
프로젝트 브라우저(Project Browser)에서 브랜드 템플릿(Brand Templates)으로 이동한 다음 모든 브랜드(All Brands) 드롭다운에서 레고® 섬(LEGO® Island)을 선택합니다.
레고 액션 어드벤처 템플릿(LEGO Action Adventure Template)을 선택합니다. 그런 다음 프로젝트 이름(Project Name)에 프로젝트의 이름을 입력합니다.
프로젝트 디폴트(Project Defaults)에서 프로젝트에 언리얼 리비전 컨트롤(Unreal Revision Control)을 사용할지 여부와 팀 선택(Team Selection)을 설정합니다.
생성(Create)을 클릭해 프로젝트를 로드합니다.
커스텀 퀘스트 제작
액션 어드벤처 템플릿은 게임플레이 전반에 걸쳐 플레이어에게 목적 의식을 부여하는 수많은 퀘스트를 제공합니다. 이러한 퀘스트는 퍼시스턴스 데이터를 통해 개별적으로 추적됩니다.
퀘스트를 제작하면서 테스트할 수 있도록 세션을 시작하세요.
Verse 장치를 제작하여 게임 내에 퀘스트를 구성하고 플레이어에게 레고® 수집품 스터드와 같은 아이템을 보상으로 지급할 수 있습니다. 이 퀘스트 시스템을 사용하여 게임플레이의 스토리를 진행할 수도 있습니다.
퀘스트 시작됨(Quest Started), 퀘스트 중단됨(Quest Aborted), 퀘스트 완료됨(Quest Completed)과 같은 이벤트를 통해, 퀘스트가 시작되면 아이템이 나타나게 만들 수 있습니다.
퀘스트 시스템을 만들려면 아래 단계를 따릅니다.
뷰포트 툴바에서 LEGO_quest_giver라는 이름의 Verse 장치를 생성하고 프로젝트로 드래그합니다.
그런 다음 2개의 버튼(Button) 장치를 프로젝트로 드래그합니다.
하나는 button_quest_giver로, 다른 하나는 button_quest로 명명합니다.
다음과 같은 Verse 코드를 프로젝트에 추가합니다.
Verseusing { /Fortnite.com/Characters } using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # ==================================================================================================================================== # LEGO quest giver device that manages a linear quest system # ====================================================================================================================================콘텐츠 브라우저에서 Fortnite > Devices > Logic으로 이동하여 추적기(Tracker) 장치 2개를 프로젝트로 드래그합니다.
하나는 tracker_main_quest로, 다른 하나는 tracker_quest_giver로 명명합니다.
플레이어가 퀘스트를 활성화할 수 있도록 NPC 근처의 잘 보이는 위치에 button_quest 버튼 장치를 배치합니다.
button_quest_giver 버튼 장치가 숨겨지도록 NPC의 홀로그램 내부에 배치합니다.
콘텐츠 브라우저에서 Fortnite > Devices > !Beta로 이동하여 NPC 생성 장치(NPC Spawner)를 프로젝트로 드래그합니다.
퀘스트 장치 환경설정하기
다음으로 LEGO_quest_giver 장치를 환경설정하고, 장치들을 연결하여 첫 번째 퀘스트 시스템을 구성합니다. 이렇게 하려면 아래 단계를 따릅니다.
프로젝트 또는 아웃라이너(Outliner) 패널에서 LEGO_quest_giver 장치를 선택합니다.
장치의 디테일(Details) 패널에서 QuestGiverName으로 이동하여 NPC의 퀘스트 부여 이름을 설정합니다.
다음으로, Button_Interact로 이동하여 옵션을 button_quest_giver로 설정합니다.
TrackerDevice로 이동하여 옵션을 tracker_quest_giver로 설정합니다.
퀘스트 시스템이 lego_quest 또는 lego_quest_repeatable 중 하나의 배열로 구성됩니다. 레고 퀘스트는 플레이어가 어떤 순서로든 진행할 수 있는 단일 퀘스트 시스템입니다.
반복 가능 퀘스트 생성하기
반복 가능 퀘스트의 경우, 끊임없이 스터드를 주워야 하는 메커니즘을 만들거나 여러 번 처치 가능한 적을 설정할 수도 있습니다.
LEGO_quest_giver 장치의 디테일 패널에서 퀘스트(Quests)의 + 아이콘을 선택하여 퀘스트에 배열 엘리먼트를 추가합니다.
배열이 LEGO_quest로 설정되도록 한 다음 이름(Name)으로 이동하여 퀘스트의 이름을 입력합니다.
표시 텍스트(Display Text) 배열을 펼쳐 대화를 위한 텍스트를 설정합니다.
퀘스트 배열에서 TrackerDevice로 이동하여 옵션을 tracker_main_quest로 설정합니다.
퀘스트를 반복 가능하도록 설정하지 않는 한 플레이어가 새로운 퀘스트를 수락할 수 없습니다. 트리거 장치를 환경설정하여 퀘스트의 진행 상황을 리셋할 수도 있습니다.
퀘스트 리셋하기
퀘스트가 리셋되도록 설정하려면 아래 단계를 따릅니다.
콘텐츠 브라우저에서 Fortnite > 장치 > Logic으로 이동하여 트리거 장치를 프로젝트로 드래그합니다.
아웃라이너 패널에서 LEGO_quest_giver 장치를 선택합니다.
그런 다음 디테일 패널에서 Trigger_ResetProgress 드롭다운을 클릭한 후 트리거 장치를 선택합니다.
아웃라이너 패널에서 데모 영역(Demo Area) > DemoDisplay_Quest로 이동하여 사전 환경설정된 데모 퀘스트를 확인합니다.
추적기 환경설정하기
추적기 장치를 사용하여 레고 퀘스트를 증가, 감소, 완료할 수 있습니다. 각 퀘스트에는 진행 상황을 관리하도록 할당된 자체적인 추적기 장치가 있어야 합니다.
기본적인 반복 불가 퀘스트를 만들려면 아래 단계를 따릅니다.
아웃라이너 패널에서 tracker_main_quest 추적기 장치를 선택합니다.
디테일 패널에서 추적할 통계(Stat to Track)를 이벤트(Events)로 설정합니다.
TargetValue를 1로 설정하여 시작 값이 0이 되도록 합니다. 이 값은 퀘스트 단계가 완료될 때마다 증가합니다. 더 많은 퀘스트 단계의 경우, 완료 이벤트가 추적기를 계속 증가시키도록 값을 늘립니다.
변경할 양(Amount to Change)을 1로 설정합니다.
IncrementProgress로 이동한 다음 배열을 ButtonQuest로, 이벤트를 OnInteract로 설정합니다. 액션 어드벤처 템플릿에서 생성된 퀘스트와 비슷하게, 이를 증가시키기 위한 퀘스트 요건으로 여러 이벤트를 설정할 수 있습니다. 예를 들어 월드에 입장하기, 비밀 문 열기 또는 보스 처치하기 등의 퀘스트 요건을 설정할 수 있습니다.
아웃라이너 패널에서 tracker_quest_giver 추적기 장치를 선택합니다. 그런 다음 디테일 패널에서 시작 시 지정(Assign on Start)을 False로 설정합니다.
NPC 생성 장치 환경설정하기
NPC 생성 장치를 사용하면 순찰 행동 및 전투에서 플레이어와 교전하는 행동을 보유한 경비(Guard) 캐릭터 타입을 생성할 수 있습니다.
커스텀 Verse NPC 캐릭터 정의를 NPC 생성 장치와 함께 사용하려면 아래 단계를 따릅니다.
프로젝트의 콘텐츠 폴더에서 NPCDef_QuestGiver라는 이름의 캐릭터 정의(Character Definition) 블루프린트를 생성합니다.
캐릭터 정의의 디테일 패널에서 아래 표와 일치하도록 세팅을 변경합니다.
옵션
값
설명
타입(Type)
경비
이 SpawnDefinition으로 생성될 AI 캐릭터 타입을 정의합니다.
선택한 AI(Selected AI)
NanaSplit
이 프리셋에서 생성할 AI 캐릭터를 선택합니다.
비헤이비어(Behavior)
Verse 비헤이비어
생성된 AI 캐릭터가 생성 후 행동하는 방식을 정의합니다.
NPC 비헤이비어 스크립트(NPC Behavior Script)
npc_behavior_quest_giver
생성된 NPC를 제어할 npc_behavior 타입의 Verse 스크립트를 선택합니다.
정확도(Accuracy)
보통(Moderate)
경비의 사격 정확도를 결정합니다.
빈사 상태 가능(Can be Down But Not Out)
끄기
NPC가 빈사 상태에 빠지지 않습니다.
모디파이어 - 인덱스[0](Modifiers - Index [0])
Team Modifier
적용할 모디파이어를 설정합니다.
팀 옵션(Team Option)
인덱스(Index)
팀 타입을 설정합니다.
팀 인덱스(Team Index)
1
팀 타입의 번호를 설정합니다.
아웃라이너 패널에서 NPC 생성 장치를 선택합니다.
디테일 패널에서 NPC 캐릭터 정의를 NPCDef_QuestGiver로 설정합니다.
레고® 스터드 보상으로 지급하기
플레이어가 액션을 수행하고 적을 처치할 때 레고® 수집품 스터드를 지급하는 방식으로 플레이어에게 게임플레이 내내 보상을 제공하세요. 환경에 스터드를 수동으로 배치하거나 Verse를 사용하여 랜덤으로 생성되도록 설정하면, 사용자가 NPC를 처치하고, 사물을 파괴하고, 조립 미니게임을 완료하여 스터드를 획득할 수 있습니다.
액션 어드벤처 템플릿에서 플레이어는 스토리를 진행하고 게임 내 트로피를 구매하는 데 사용할 수 있는 스터드를 보상으로 받습니다. 수집품 장치를 사용하여 플레이어가 수집할 스터드를 생성하세요.
오브젝트 풀을 사용하면 게임플레이 전반에 걸쳐 스터드를 효율적으로 지급할 수 있습니다. 오브젝트 풀은 대량의 오브젝트를 생성할 때 유용합니다.
스터드를 끊임없이 생성하고 파괴하는 대신, 게임이 시작되기 전에 미리 만들어 둔 다음 필요할 때 생성하면 됩니다. 미리 만들어 둔 오브젝트는 정해진 위치에서 활성화하여 배치할 수 있습니다. 스터드와 같은 자원을 미리 초기화하면 메모리 재할당과 관련된 퍼포먼스 비용을 줄이는 데 도움이 될 수 있습니다.
이 템플릿은 아이템 생성 장치와 LEGO_stud_spawner_pool Verse 장치를 사용하여, SpawnStudsAtLocation() 함수를 통해 스터드를 생성할 위치와 개수를 지정합니다. 이는 필요한 수의 아이템 생성 장치를 스터드 생성 위치로 순간이동시킵니다. 아이템 생성 장치가 해당 위치에 스터드를 생성하고 나면 풀에 다시 추가되어 재사용 가능한 상태가 됩니다.
레벨에 아이템 생성 장치를 추가한 다음, 연관된 풀 태그를 부여하면 원하는 시간과 위치에 집계 및 생성됩니다.
오브젝트 풀 생성하기
스터드를 생성하는 오브젝트 풀을 만들려면 아래 단계를 따릅니다.
Verse 익스플로러 패널에서 LEGO_stud_pool이라는 이름의 Verse 장치를 생성하고 프로젝트로 드래그합니다.
다음과 같은 Verse 코드를 프로젝트에 추가합니다.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Colors } using { /Verse.org/Simulation } using { /Verse.org/Simulation/Tags } using { /UnrealEngine.com/Assets } using { /UnrealEngine.com/Temporary/Diagnostics } using { /UnrealEngine.com/Temporary/SpatialMath } # ============================================================================================================================================디테일 패널에서 +추가(Add)를 클릭하고 Verse 태그 마크업(Verse Tag Markup)을 선택합니다.
태그(Tags) 드롭다운에서 배열을 펼치고 LEGO_stud_pool_tag를 선택합니다.
아이템 생성 장치 추가하기
각 아이템 생성 장치는 단일 스터드 수집품만 생성할 수 있습니다. 따라서 풀에는 생성하고자 하는 스터드의 개수만큼 아이템 생성 장치가 있어야 합니다. 아이템 생성 장치를 구성하려면 아래 단계를 따릅니다.
콘텐츠 브라우저에서 Fortnite > 장치 > Items로 이동하여 아이템 생성 장치를 프로젝트로 드래그합니다.
디테일 패널에서 아이템 목록(Item List)에 배열을 추가하고 CP_Ingredient_GoldStud로 설정합니다.
아이템 초기 움직임(Initial Movement of Item)으로 이동하여 수집되었을 때의 바운스 이펙트 옵션을 던지기(Toss)로 설정합니다.
Verse 태그 마크업을 추가하고 lego_stud_itemspawner_tag로 설정합니다.
풀에 원하는 수의 아이템 생성 장치가 갖춰지도록, 이 장치를 필요한 만큼 복사 및 붙여넣기합니다.
풀을 사용하여 스터드 생성하기
위의 아이템 생성 장치를 사용하여 게임플레이에 스터드를 생성할 수 있습니다. 즉, 일반 장치만을 사용하는 다수의 게임플레이 이벤트에 반응할 수 있습니다.
예를 들어 NPC가 처치되었을 때나 조립 장치 요건이 충족되었을 때, 심지어 퀘스트가 완료되었을 때도 스터드를 생성할 수 있습니다.
퀘스트를 완료했을 때의 보상으로 게임플레이 내에 스터드 풀을 생성하려면 아래 단계를 따릅니다.
아웃라이너 패널에서 앞서 생성한 레고 퀘스트 부여자(LEGO Quest Giver) 장치를 선택합니다.
퀘스트 배열로 이동하여 펼친 후 보상(Reward) 섹션을 찾습니다. 그런 다음 lego_stud_spawner로 설정되어 있는지 확인합니다.
양(Amount)에서 플레이어에게 보상으로 지급할 스터드의 양을 설정합니다. 아이템 생성 장치는 하나의 아이템만 생성할 수 있으므로, 각 보상량마다 아이템 생성 장치가 필요합니다. 따라서 보상이 15개인 경우, 15개를 동시에 생성하려면 15개의 아이템 생성 장치가 필요합니다.
아이템 생성 장치의 Verse 마크업 태그와 일치하도록 SpawnType을 던지기로 설정합니다.
세션을 시작하여 생성이 작동하는지 테스트할 수 있습니다.
Verse 기반 공격 시스템 만들기
모험에는 보스 전투가 빠질 수 없죠! 플레이어가 전략을 써서 처치해야 하는, 강력한 NPC 적으로 플레이어의 도전 의식을 북돋우세요.
이 템플릿에서 NPC는 플레이어에게로 폭발 장치를 순간이동시키는 광역 공격과 플레이어를 일시적인 정지 상태에 빠뜨리는 기절 공격을 사용합니다.
배틀 아레나에서 플레이어는 클래스 기반 전투 강화와 다양한 파워업이 전투에 도움이 될 것으로 예상할 수 있습니다.
npc attack controller Verse 장치를 변경하여 NPC가 사용하는 공격의 빈도와 유형을 제어할 수 있습니다.
아래의 코드를 여러분의 프로젝트에 삽입하여 나만의 NPC 보스 전투 베리에이션을 만들어 보세요.
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org }
using { /Verse.org/Assets }
using { /Verse.org/Colors }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Assets }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
섬 디자인하기
다음은 브릭을 조립하여 멋진 게임플레이 경험을 만드는 몇 가지 팁입니다.
플레이어가 계속해서 즐거운 시간을 보낼 수 있도록 커스텀 UI를 제작하여 프로젝트를 한 단계 더 발전시키세요. 이 템플릿은 일반적인 UI 디자인에서 벗어난 플레이어 초상화와 하트 체력 바를 사용합니다.
플레이어가 길을 잃게 내버려 두지 마세요! 레고® 수집품 스터드를 전략적으로 배치하여 플레이어를 원하는 경로로 안내하세요.
퍼즐의 난이도가 올라갈수록 HUD 힌트와 텍스트 힌트를 제공하여 플레이어를 올바른 길로 인도하세요.
조립 장치를 사용하여 숨겨진 영역을 잠금 해제하세요. 조립 장치에 시네마틱 시퀀스, 사물 이동 장치까지 결합하면 조립품에 생동감을 부여할 수 있습니다.
UEFN 툴바에서 Verse를 클릭하여 이 게임플레이를 만드는 데 사용된 전체 Verse 코드를 꼭 확인해 보세요.