이 기능은 얼리 액세스 단계입니다. 이 기능을 사용하여 섬을 퍼블리싱할 수는 있지만, 얼리 액세스 기간 동안 일어난 변경사항으로 인해 섬이 정상적으로 작동하지 않아 크리에이터의 적극적인 개입이 필요할 수도 있습니다.
NPC 생성 장치(NPC Spawner Device) 를 사용하여 자신만의 독특한 크리처, 적군 등 게임플레이에 활력을 불어넣는 매력적인 역할을 만들 수 있습니다. 이러한 플레이 불가 캐릭터(Non-Playable Characters, NPC)에는 체력과 순찰 경로가 있으며, 심지어 플레이어가 퍼즐을 푸는 것을 도울 수도 있습니다. 이 장치를 사용하여 스크립트 및 다수의 레벨에서 재사용할 수 있는 NPC 캐릭터 정의 를 할당하세요.
인공 지능(Artificial Intelligence, AI)이 탑재된 캐릭터인 NPC를 게임플레이에 추가하여 한층 몰입감을 더해보세요. 팀원 부활부터 플레이어 따라가기와 액션 수행까지, 다양한 액션을 수행하도록 NPC를 커스터마이징할 수 있습니다.
NPC 생성 장치는 캐릭터 장치 와는 다릅니다. NPC 생성 장치로는 캐릭터의 모습, 이동 및 행동 방식을 변경하는 커스텀 환경설정이 가능합니다.
경비 생성 장치 와 같은 캐릭터 장치는 기본 캐릭터의 단일 인스턴스에 적합하지만, 둘 다 포트나이트 스킨으로 제한됩니다. NPC 생성 장치는 포트나이트 스킨 또는 사용자가 임포트한 스킨으로 캐릭터의 인스턴스를 생성할 수 있으며, 심지어 야생동물도 만들 수 있습니다.
이 장치의 세팅을 수정하여 생성 시간이 설정된 커스터마이징 캐릭터를 제작합니다. 또한 이러한 세팅을 통해 캐릭터 정의 블루프린트로 장식, 애니메이션, 비헤이비어 등을 추가로 수정할 수 있습니다.
이 장치는 현재 All > Fortnite > Devices > !Early Access > NPC 생성 장치(NPC Spawner) 에 위치한 포트나이트 언리얼 에디터 (Unreal Editor for Fortnite, UEFN) 전용 장치입니다.
상황별 필터링
일부 장치는 상황별 필터링이라는 기능의 영향을 받습니다. 이 기능은 특정 관련 옵션에 선택한 값에 따라 옵션을 강조 표시하거나 가립니다. 이 기능을 사용하면 디테일 패널이 깔끔해지며, 옵션을 관리하고 탐색하기가 쉽습니다.
사용자 옵션
이 세팅을 통해 이 장치의 생성 조건을 제어하고, 캐릭터 정의를 참조하고, 기능과 이벤트를 지정할 수 있습니다.
기본값은 굵게 표시됩니다. 상황별 필터링을 트리거하는 값은 이탤릭체로 표시됩니다.
옵션 | 값 | 설명 |
---|---|---|
생성 수(Spawn Count) | 1, 수량 입력 | 이 생성 장치가 언제든지 활성화할 수 있는 NPC 수를 설정합니다. 생성 장치가 활성화되면 NPC를 한 번에 하나씩 생성합니다. |
벽 관통 생성(Spawn Through Walls) | True, False | 이 NPC가 생성 장치의 시야 내에 생성되어야 하는지 또는 시야가 차단된 벽 너머에서도 생성될 수 있는지 여부를 결정합니다. |
게임 시작 시 캐릭터 생성(Spawn Character at Game Start) | True, False | 게임 시작 시 NPC 캐릭터를 생성하기 위해 생성 장치를 활성화할지 여부를 결정합니다. 애니메이팅된 캐릭터를 사용하는 경우 이 옵션을 False로 설정합니다. |
NPC 비헤이비어 스크립트 오버라이드(NPC Behavior Script Override) | 없음(None), 스크립트 선택 | 이 장치에 할당한 NPC 캐릭터 정의의 기본 비헤이비어 또는 할당한 비헤이비어를 오버라이드합니다. |
NPC 캐릭터 정의(NPC Character Definition) | CharacterDefinition_Default, 캐릭터 정의 선택 | NPC 생성에 사용할 NPC 캐릭터 정의를 결정합니다. 기본 세팅은 수정 불가능한 시작점이자 기초적인 세팅을 위한 자리표시자입니다. |
추가 NPC 캐릭터 보정치(Additional NPC Character Modifiers) | 배열 엘리먼트 추가 | NPC를 생성하는 데 사용할 모디파이어의 목록을 추가합니다. 캐릭터 정의를 통해 더 많은 모디파이어를 추가할 수 있습니다. 장치에 할당한 모디파이어가 캐릭터 정의에서 할당한 모디파이어를 오버라이드합니다. 모디파이어에 대한 자세한 내용은 캐릭터 정의 문서를 참조하세요. |
인덱스(Index) | 장식 모디파이어(Cosmetic Modifier) | 아래 세팅은 NPC의 장식을 수정합니다. 아래 세팅 중 일부에는 상황별 필터링이 있어, 호환되는 세팅만 선택할 수 있습니다. 각 캐릭터 타입에는 서로 다른 프로퍼티 옵션이 있습니다. |
캐릭터 룩(Character Look) | 포트나이트 캐릭터(Fortnite Character), 커스텀 캐릭터 | 캐릭터 장식 필드의 사용 가능한 장식에서 포트나이트 캐릭터를 생성할지, 아니면 사용자 생성 액터 블루프린트를 통해 정의된 커스텀 캐릭터를 생성할지 여부를 결정합니다. 150가지의 포트나이트 장식 중에서 선택할 수 있습니다. |
캐릭터 장식(Character Cosmetic) | 존시(Jonesy), 캐릭터 장식 선택 | 캐릭터 장식을 설정합니다. |
캐릭터 블루프린트(Character Blueprint) | 없음(None), 캐릭터 블루프린트 선택 | 캐릭터 블루프린트를 설정합니다. |
캐릭터 이동(Character Movement) | 기본 이동(Default Movement), 포트나이트 캐릭터에서 리타기팅, 애니메이션 프리셋 | NPC의 이동을 설정합니다. |
무한 생성 허용(Allow Infinite Spawn) | True, False | 생성 장치에 생성 총한도가 있는지 여부를 결정합니다. |
생성 총한도(Total Spawn Limit) | 1, 수량 입력 | 생성 장치가 활성화된 동안 생성할 수 있는 AI의 최대 수를 설정합니다. |
타이머로 생성(Spawn On Timer) | True, False | AI를 생성 타이머 카운트다운으로 생성할지, 이벤트로 생성할지 결정합니다 |
생성 타이머(Spawn Timer) | 3.0초, 수량 입력 | AI의 최소 생성 주기를 설정합니다. |
생성 반경 표시(Show Spawn Radius) | True, False | 생성 반경을 표시할지 여부를 결정합니다. |
생성 반경(Spawn Radius) | 1.0m, 수량 입력 | AI가 생성될 수 있는 장치의 최소 거리를 설정합니다. |
사용 안 할 시 AI 소멸(Despawn AIs When Disabled) | True, False | 장치가 비활성화되었을 때 AI를 계속 생성할지, 소멸할지 여부를 결정합니다. |
다이렉트 이벤트 바인딩
다음은 이 장치의 다이렉트 이벤트 바인딩 옵션입니다.
기능
기능 은 장치에서 이벤트를 수신한 후 액션을 수행합니다.
-
기능 옵션은 옵션 을 클릭하고 장치 선택(Select Device) 에서 액세스할 장치를 선택한 다음, 장치 드롭다운 메뉴에서 선택합니다.
-
장치를 선택한 후 이벤트 선택(Select Event) 을 클릭하여 장치의 기능을 트리거할 이벤트에 장치를 바인딩합니다.
-
기능을 트리거할 장치 또는 이벤트가 2개 이상인 경우, 추가 버튼을 눌러 줄을 추가하고 이 단계를 반복합니다.
옵션 | 설명 |
---|---|
사용(Enable) | 이벤트가 발생하면 이 장치를 활성화합니다. |
사용 안 함(Disable) | 이벤트가 발생하면 이 장치를 비활성화합니다. |
생성(Spawn) | 이벤트가 발생하면 이 장치에서 AI를 생성합니다. |
소멸(Despawn) | 이벤트가 발생하면 이 장치에서 AI를 소멸합니다. |
생성 총한도 초기화(Reset Total Spawn Count) | 이벤트가 발생하면 생성 총한도 수를 리셋합니다. |
이벤트
다이렉트 이벤트 바인딩은 이벤트를 송신기로 사용합니다. 이벤트는 다른 장치에 기능을 수행하도록 지시합니다.
-
이벤트 옵션은 옵션 을 클릭하고 장치 선택 에서 액세스할 장치를 선택한 다음, 장치 드롭다운 메뉴 에서 선택합니다.
-
장치를 선택한 후 기능 선택(Select Function) 을 클릭하여 해당 장치의 기능에 타이머를 바인딩합니다.
-
이벤트에 의해 트리거되는 기능이 2개 이상인 경우 추가 버튼을 눌러 반복합니다.
옵션 | 설명 |
---|---|
생성 시(On Spawned) | 플레이어가 버튼과 상호작용하면 연결된 장치에 이벤트를 전송합니다. |
처치 시(On Eliminated) | 플레이어가 버튼과 상호작용하면 연결된 장치에 이벤트를 전송합니다. |
Verse에서 NPC 생성 장치 사용하기
아래 코드로 Verse에서 NPC 생성 장치를 제어할 수 있습니다. 이 코드는 NPC 생성 장치 API의 모든 기능을 사용합니다. 자신의 경험에 맞춰 수정하세요.
using { /Fortnite.com/AI }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Verse 장치를 만들려면 [여기](https://dev.epicgames.com/documentation/ko-kr/uefn/create-your-own-device-in-verse)를 참조하세요.
# Verse로 작성하여 레벨에 배치할 수 있는 포크리 장치
npc_spawner_device_example := class(creative_device):
# 레벨 내 NPC 생성 장치에 대한 레퍼런스입니다.
# 이 Verse 장치의 디테일 패널에서
# NPC 생성 장치에 이 프로퍼티를 설정합니다.
@editable
MyNPCSpawnerDevice:npc_spawner_device = npc_spawner_device{}
# 실행 중인 게임에서 장치가 시작되면 실행됩니다.
OnBegin<override>()<suspends>:void=
# 포크리 장치에서 이벤트 등록의 예시입니다.
# 캐릭터가 NPC 생성 장치에서 생성되면 신호가 전송됩니다.
# 생성된 `agent` 캐릭터를 전송합니다.
MyNPCSpawnerDevice.SpawnedEvent.Subscribe(OnCharacterSpawned)
# NPC 생성 장치에서 생성된 캐릭터가 처치되면
# 신호가 전송됩니다. 해당 캐릭터를 처치한 에이전트의 device_ai_interaction_result를
# 전송하고
MyNPCSpawnerDevice.EliminatedEvent.Subscribe(OnCharacterEliminated)
# NPC 생성 장치에서 캐릭터를 생성합니다.
MyNPCSpawnerDevice.Spawn()
Sleep(15.0)
# 이 장치로 생성한 모든 크리처를 처치합니다.
MyNPCSpawnerDevice.DespawnAll(false)
# 이 함수는 캐릭터가 NPC 생성 장치에서 생성될 때 실행되는데,
# 이 함수가 SpawnedEvent의 이벤트 핸들러이기 때문입니다.
OnCharacterSpawned(SpawnedAgent:agent):void=
Print("A character just spawned from this device.")
# 캐릭터가 생성되면 캐릭터가 플레이 공간의 첫 번째 플레이어에 포커스하도록 합니다.
if:
FortCharacter := SpawnedAgent.GetFortCharacter[]
FocusInterface := FortCharacter.GetFocusInterface[]
PlayerToFocus := GetPlayspace().GetPlayers()[0]
then:
spawn{FocusInterface.MaintainFocus(PlayerToFocus)}
# 이 함수는 NPC 생성 장치에서 생성된 캐릭터가 처치될 때 실행되는데,
# 이 함수가 EliminatedEvent의 이벤트 핸들러이기 때문입니다.
OnCharacterEliminated(AIInteractionResult:device_ai_interaction_result):void=
# `Source` 는 크리처를 처치한 `agent` 입니다.
# 크리처가 비에이전트에게 처치되었다면 `Source` 는 'false'입니다.
# `Target` 은 처치된 크리처입니다.
if(AIInteractionResult.Source?):
Print("The character was eliminated by another agent.")
else:
Print("The character was not eliminated by another agent.")
이 코드를 UEFN 경험에서 사용하려면 다음 단계를 따릅니다.
- 섬에 NPC 생성 장치를 드래그합니다.
- 새 Verse 장치를 생성하여 npc_spawner_device_verse_example 로 명명합니다. Verse를 사용하여 나만의 장치 만들기에서 단계를 확인하세요.
- Visual Studio Code에서 Visual Studio Code의 npc_spawner_device_verse_example.verse 를 열고 위 코드를 붙여 넣습니다.
- 코드를 컴파일하고 섬에 Verse로 작성된 장치를 드래그합니다. 레벨에 Verse 장치 추가하기에서 단계를 확인하세요.
- 아웃라이너 에서 Verse 장치를 선택합니다.
- 장치의 디테일(Details) 패널에서 NPC 생성 장치의 오브젝트 레퍼런스를 섬의 NPC 생성 장치로 할당합니다. 뷰포트 에서 스포이드로 장치를 선택하거나 드롭다운에서 장치를 검색할 수 있습니다.
- 프로젝트를 저장하고 세션 시작(Launch Session) 을 클릭합니다.
NPC 생성 장치 API
Verse에서 NPC 생성 장치 사용하기에 대한 자세한 내용은 npc_spawner_device
API 레퍼런스를 참조하세요.