UEFN 경험을 플레이하는 동안 플레이어에게 배틀패스 XP를 지급하고 싶으신가요? 이 튜토리얼은 UEFN 및 Verse에서 업적 장치를 사용하여 플레이어에게 XP를 지급하는 방법을 보여줍니다.
이 장치가 플레이어에게 XP를 지급하는 방법에 대한 자세한 내용은 포크리의 업적 장치를 참고하세요.
좀비 처치 XP 지급
-
에픽게임즈 스토어에서 UEFN을 실행합니다.
-
새 섬을 생성하거나 기존 섬을 로드합니다.
-
콘텐츠 브라우저(Content Browser)에서 All > Fortnite > Devices 로 이동하여 'accolade'를 검색합니다.
-
업적 장치를 레벨로 드래그합니다.
-
업적 장치가 선택되어 있는지 확인합니다.
-
디테일(Details) 패널에서 다음 사용자 옵션을 수정합니다.
옵션 값 설명 이름(Name) 좀비 처치(Zombie Elimination) 보상 유형을 설명하는 짧은 메시지입니다. XP 보상(XP Award) 매우 적음(Very Small) 달성하기 쉬운 목표이므로 적은 보상을 지급해야 합니다. 스플래시 크기(Splash Size) 작음(Small) 플레이어의 화면에 나타나는 메시지가 작은 공간을 차지합니다. -
콘텐츠 브라우저에서 All > Fortnite > Devices 로 이동하여 'creature spawn'을 검색합니다.
-
크리처 생성 장치(Creature Spawner) 를 레벨로 드래그합니다.
-
유인 포탑(Mounted Turret) 장치를 찾아 레벨로 드래그합니다. 크리처 생성 장치 범위 내여야 합니다. 이렇게 하면 플레이어가 좀비를 처치할 수 있습니다.
다이렉트 이벤트 바인딩
다이렉트 이벤트 바인딩을 사용하여 좀비가 처치될 때마다 업적 장치를 트리거할 수 있습니다. 이 워크플로는 에디터에서만 수행됩니다. Verse에서 수행되는 방식을 확인하려면 Verse를 사용한 XP 지급으로 이동하세요.
-
먼저 생성한 업적 장치를 선택합니다.
-
디테일 패널에서 사용자 옵션 - 기능(User Options - Functions) 섹션으로 스크롤합니다.
-
'Award' 옆의 + 버튼을 클릭합니다.
-
드롭다운을 클릭하고 크리처 생성 장치를 찾아 선택합니다.
-
두 번째 드롭다운을 클릭하고 '크리처 처치 시(On A Creature Is Eliminated)'를 선택합니다.

게임에서 보낸 시간에 따라 XP 지급
-
좀비 처치 예시에 목록으로 나열된 1~5단계를 반복합니다.
-
디테일 패널에서 다음 세팅을 수정합니다.
옵션 값 설명 이름(Name) "플레이해 주셔서 감사합니다!(Thanks for Playing!)" 보상 유형을 설명하는 짧은 메시지입니다. 설명(Description) "섬에서 보내신 시간에 대한 감사의 표시입니다.(A thank you for spending time on the island.)" 플레이어가 XP 보상을 획득하는 이유를 설명하는 짧은 메시지입니다. XP 보상(XP Award) 큼(Large) 플레이 시간 15분은 커다란 보상을 받을 만한 요소입니다. 수여 횟수 제한(Limit Award Count) True, "1" 이 XP 보상은 한 번만 지급할 수 있습니다. 아이콘(Icon) 2개 선택 'Star'를 찾은 후 소형 아이콘을 '_64' 버전으로, 대형 아이콘을 '_128' 버전으로 설정합니다. -
콘텐츠 브라우저에서 타이머(Timer) 장치를 찾아 레벨로 드래그합니다.
-
타이머 장치의 디테일 패널에서 다음 세팅을 수정합니다.
옵션 값 설명 지속 시간(Duration) 900 15분 동안 게임플레이를 하면 보상이 지급됩니다. 게임 시작 시 시작(Start at Game Start) True 게임이 시작되면 타이머가 자동으로 시작됩니다 완료 행위(Completion Behavior) 재시작(Restart) 이 타이머가 재시작되어 다음 15분이 지나면 더 많은 XP를 지급합니다. 게임 중에 표시(Visible During Game) 숨김(Hidden) 이 타이머를 보거나 상호작용할 수 없습니다.
다이렉트 이벤트 바인딩
다이렉트 이벤트 바인딩을 사용하여 타이머가 끝날 때마다 업적 장치를 트리거합니다.
-
먼저 생성한 업적 장치를 선택합니다.
-
디테일 패널에서 사용자 옵션 - 기능(User Options - Functions) 섹션으로 스크롤합니다.
-
'Award' 옆의 + 버튼을 클릭합니다.
-
드롭다운을 클릭하고 타이머 장치를 찾아 선택합니다.
-
두 번째 드롭다운을 클릭하고 '성공 시(On Success)'를 선택합니다.

Verse를 사용한 XP 지급
이 예시는 위의 좀비 처치 샘플을 바탕으로 합니다. 좀비는 획득 가능한 뼈를 떨어뜨립니다. 다음 섹션에서는 플레이어가 뼈 5개를 제출할 때마다 대량의 XP를 획득하게 하는 방법을 보여줍니다.
-
콘텐츠 브라우저에서 All > Fortnite > Devices 로 이동하여 'elimination'을 검색합니다.
-
처치 관리 장치(Elimination Manager) 를 씬으로 드래그합니다.
-
디테일 패널의 사용자 옵션 은 다음과 같이 설정합니다.
-
아이템 목록(Item List) 에서 엘리먼트 추가(Add Element) 를 클릭합니다.
-
Index 0 을 엽니다. 생성할 픽업(Pickup to Spawn) 에서 오브젝트 선택 툴 드롭다운을 클릭합니다.
-
'Animal Bones'를 검색합니다. 이제 처치된 적들이 동물 뼈를 떨어뜨릴 것입니다.
-
-
다른 업적 장치를 씬으로 드래그합니다.
-
새 업적 장치의 디테일 패널에서 다음을 수행합니다.
-
이름 을 'Zombie Bounty'로 설정합니다.
-
XP 보상 을 매우 큼(Very Large) 으로 설정합니다.
-
스플래시 크기 를 큼 으로 설정합니다.
-
-
콘텐츠 브라우저에서 'conditional'을 검색합니다.
-
조건부 버튼(Conditional Button) 장치를 씬으로 드래그합니다.
-
새 조건부 버튼 장치 디테일 패널에서 다음을 수행합니다.
-
열쇠 아이템 필요(Key Items Required) 를 활성화하고 동일한 줄의 수치를 5 로 설정합니다.
-
열쇠 아이템 1(Key Item 1) 을 찾아 옵션을 펼칩니다.
-
아이템 정의(Item Definition) 프로퍼티에서 드롭다운을 클릭합니다.
-
'Animal Bones'를 검색합니다.
-
'Animal Bone' 오브젝트를 선택합니다.
-
Verse 스크립트 생성
-
Verse 익스플로러로 accolade_example 이라는 새 Verse 장치를 만들어 레벨로 드래그합니다. Verse에서 새 장치를 생성하는 방법에 대한 자세한 내용은 Verse를 사용하여 나만의 장치 만들기를 참고하세요.
-
Verse 익스플로러를 열고 accolade_example.verse 를 더블클릭하여 Visual Studio Code에서 스크립트를 실행합니다.
-
accolade_example
클래스 정의에서 다음과 같은 필드를 추가합니다.-
Accolades
로 명명된 편집 가능 업적 장치는 레벨의 업적 장치를 참조할 것입니다. -
ConditionalButton
으로 명명된 편집 가능 조건부 버튼입니다. 이 버튼을 사용해서 플레이어가 필요한 수의 뼈를 제출하면 점수를 받게 할 수 있습니다.
accolade_example := class(creative_device): @editable Accolades:accolades_device = accolades_device{} @editable ConditionalButton:conditional_button_device = conditional_button_device{}
-
-
OnBegin()
에서ConditionalButton
ActivatedEvent
를BountyComplete
로 명명된 새 함수에 등록합니다.OnBegin<override>()<suspends>:void= ConditionalButton.ActivatedEvent.Subscribe(BountyComplete)
-
새 메서드
BountyComplete()
를accolade
클래스에 추가합니다. 이 메서드는Accolades
점수로ConditionalButton
을 활성화한 플레이어에게 보상을 지급합니다.# 조건부 버튼을 활성화한 플레이어에게 # 점수를 부여합니다. BountyComplete(Agent:agent):void= Accolades.Award(Agent)
-
이제
accolade_example
코드는 다음과 같게 됩니다.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } accolade_example := class(creative_device): @editable Accolades:accolades_device = accolades_device{} @editable ConditionalButton:conditional_button_device = conditional_button_device{} OnBegin<override>()<suspends>:void= ConditionalButton.ActivatedEvent.Subscribe(BountyComplete) # 조건부 버튼을 활성화한 플레이어에게 # 점수를 부여합니다. BountyComplete(Agent:agent):void= Accolades.Award(Agent)
-
Visual Studio Code에서 스크립트를 저장하고, 메인 메뉴의 Verse에서 Verse 코드 빌드(Build Verse Code) 를 클릭하여 코드를 컴파일합니다. 오류가 발견되면 Verse 빌드(Verse Build) 섹션 아래 메시지 로그 패널에서 확인할 수 있습니다.
-
Content > CreativeDevices 로 이동하여 Verse 장치를 찾아 씬으로 드래그합니다. -
Verse 장치를 선택하고 디테일 패널에서 업적 장치와 조건부 버튼 장치에 대한 오브젝트 레퍼런스를 할당합니다. 스포이드를 통해 뷰포트에서 오브젝트를 선택하거나 드롭다운을 통해 장치를 검색할 수 있습니다.
섬 플레이테스트하기
모든 것을 구성하고 준비를 마쳤다면 섬을 플레이테스트하여 포트나이트에서 예상대로 실행되는지 확인합니다.
레벨을 플레이하면 화면에 업적 장치가 활성화되고 XP 획득 시점을 알려주는 보일러플레이트 디버그 텍스트가 표시됩니다.
좀비를 처치하면 이렇게 됩니다.

뼈 5개를 모으면 이렇게 됩니다.

섬 퍼블리싱하기
자신의 섬을 퍼블리싱 하려면 프로젝트 퍼블리싱을 참고하세요.
섬의 조정 시간이 끝나면 게임을 플레이하면서 XP 보상을 확인할 수 있게 됩니다.