게임플레이에 영향을 주는 선택지를 고르거나, 아이템을 구매하거나, NPC 태스크를 완료하면 보상을 받을 수 있는 재미있는 대화를 만들어 보고 싶으신가요? 대화 장치(Conversation Device)를 사용하면 몰입감 넘치고 유익하며 재미있는 대화를 만들 수 있습니다. 플레이어에게 꼭 필요한 자원와 정보를 제공하여 게임 스토리를 이끌어가는 것도 가능합니다.
팝업 대화창 장치는 대화 장치와 핵심 기능을 공유합니다. 두 장치의 용도는 다음과 같습니다.
플레이어를 위한 메시지나 지침을 표시합니다.
추적기 장치와 함께 사용하는 경우 목표의 배경 정보를 표시합니다.
보이지 않는 클래스 선택 장치와 연결해 플레이어가 클래스를 선택할 수 있게 합니다.
플레이어와 NPC 사이의 대화를 생성합니다.
대화 장치를 사용하면 기능을 한층 더 활용할 수 있습니다. 분기 대화를 더하면 플레이어의 선택에 따라 이벤트가 트리거되고 게임 결과가 바뀝니다.
포트나이트 언리얼 에디터(UEFN)에서 이 장치를 사용하면 다음이 가능합니다.
대화 트리 생성하기
분기 대화 만들기
대화 트리에 이벤트를 사용해 다른 장치 트리거하기
복잡하고 역동적인 NPC 대화 예시는 STAR WARS™ 섬 게임 컬렉션의 내러티브 및 롤플레잉 템플릿에서 확인하세요.
장치 찾기 및 사용하기
대화 장치는 Fortnite > Devices > UI 폴더에서 찾을 수 있습니다. 콘텐츠 브라우저에서 장치를 드래그해 뷰포트의 NPC 생성 장치 또는 캐릭터 장치 옆에 배치합니다.
이 장치의 일반적인 워크플로는 다음과 같습니다.
대화 장치를 레벨에 배치하고 캐릭터 옆에 배치합니다.
장치 구성하기 섹션에 표시된 대로 대화 트리를 구성합니다.
이벤트 바인딩과 함께 대화 시작(Initiate Conversation) 기능을 사용하거나, Verse를 사용하여 트리거 장치 또는 볼륨 장치와 같은 다른 장치에서 InitiateConversation을 호출합니다.
게임을 시작하고 캐릭터 또는 NPC와 상호작용하여 대화를 시작합니다.
장치를 올바르게 구성했으면 대화가 시작됩니다.
장치 구성하기
대화 장치를 레벨로 드래그합니다.
대화 뱅크는 대화 트리가 포함된 에셋입니다. 대화(Conversation) 옵션 드롭다운을 클릭하고 새 에셋 생성(Create New Asset) 아래에서 대화 뱅크(Conversation Bank)를 선택하여 대화 뱅크를 생성합니다(아래 이미지 참조).
또는 콘텐츠 브라우저에서 우클릭하고 게임플레이(Gameplay) > 대화 뱅크를 선택해 대화 뱅크 에셋을 생성할 수도 있습니다. 이후 대화 옵션을 사용하여 해당 에셋을 찾아 선택할 수 있습니다.
새로 생성된 에셋을 더블클릭해 대화 에디터(Conversation Editor)를 엽니다.
노드를 추가하여 대화를 생성합니다. 그래프 영역을 우클릭하고 엔트리 포인트(Entry Point) 아래에서 디폴트 엔트리 포인트(Default Entry Point) 노드를 그래프로 드래그합니다. 이 노드에서 모든 대화가 시작됩니다.
대화 에디터와 해당 컴포넌트, 대화 그래프를 생성하는 방법에 대한 자세한 정보는 대화 생성하기를 참고하세요.
대화 유형
대화 모달에는 세 가지 유형이 있습니다. 바로 방사상(radial), 박스(box), 커스텀(custom)입니다. 모든 대화 상자는 선택지를 표시하고 이벤트를 트리거할 수 있습니다.
게임에서 일관된 대화 모달을 사용하는 것이 좋습니다. 한 대화에서 방사상 모달을 선택했다면 프로젝트의 모든 대화에 방사상 모달을 사용해야 합니다.
방사상
방사상 유형은 휠 모양으로 대화 UI와 선택지를 표시합니다. 이 스타일은 포트나이트 배틀로얄 NPC 상호작용에 사용되고 있습니다.
복잡한 대화나 복잡한 내러티브가 없는 게임이라면 방사상 유형을 사용해 효과적으로 아이템을 제공하고 게임 내 거래를 구현할 수 있습니다.
박스
박스 유형은 공간이 충분하기 때문에 자세하고 복잡한 대화에 사용하기 좋습니다. 플레이어가 읽게 될 내용을 생각해 보고 최대한 가독성 좋은 대화를 만들어 보세요. 롤플레잉 게임, 비주얼 노벨 등 여러 장르의 게임에서는 상호작용에 박스 UI가 사용됩니다.
상자 유형에는 다음과 같은 세 가지 대화 유형 상자 스타일이 있습니다.
일반 - 기본 상자 스타일입니다.
단일 화자 - 화자 아이콘을 표시하는 커스터마이징 가능한 상자입니다.
화자 2명 - 두 화자 모두의 아이콘을 표시하는 커스터마이징 가능한 상자입니다.
일반
일반 상자는 대사 상자 형태로 NPC 대화를 표시하며, 대사 상자 옆에 플레이어의 선택을 버튼으로 보여줍니다. 이것이 기본 스타일입니다.
단일 화자
단일 화자 상자 유형은 상자 형태로 화자의 이름과 텍스트를 표시하며, 대사 상자 오른쪽에 응답 버튼을 보여줍니다. 기본 스타일과는 달리, 아이콘이나 다른 머티리얼을 선택해 대사 상자 위에 화자를 나타낼 수 있습니다.
디테일(Details) 패널에서 대화 머티리얼(Conversation Materials) 옵션을 찾습니다. 배열 엘리먼트를 추가하고 드롭다운을 클릭하여 머티리얼을 선택합니다. 그런 다음 대화 그래프에서 대화 머티리얼 세트(Set Conversation Material) 노드를 추가하여 화자에게 해당 머티리얼을 사용할 수 있습니다.
커스텀 화자 아이콘을 설정하는 방법을 알아보려면 커스텀 대화 UI 문서를 참고하세요.
화자 2명
화자 2명 스타일은 상자 형태로 현재 화자의 이름과 텍스트를 표시하며, 대사 상자 오른쪽에 응답 버튼을 보여줍니다. UI 머티리얼은 현재 어떤 캐릭터가 화자인지 나타내기 위해 이 상자 유형에서도 사용할 수 있습니다. 대화 그래프에서 화자 2명을 설정하는 방법을 알아보려면 대화 생성하기 문서를 참고하세요.
커스텀
커스텀 유형을 사용하면 대화 UI의 모든 부분을 완전한 커스텀 모양으로 생성할 수 있습니다. 커스텀 UI로 게임 내 모든 대화의 톤과 스타일을 설정할 수 있습니다.
커스텀 대화 상자는 위젯 에디터를 사용하여 생성할 수 있습니다. 커스텀 UI 위젯을 생성하는 자세한 방법은 커스텀 대화 UI를 참고하세요.
커스텀 UI 위젯은 대화 장치의 커스텀 위젯(Custom Widget) 옵션에서 선택해야 합니다. 장치가 커스텀 UI를 사용하도록 설정해야 성공적으로 대화를 시작할 수 있습니다.
아래 이미지에는 커스텀 UI의 간단한 예시가 나와 있습니다. 커스텀 UI 위젯은 여기에서 그치지 않고, 원하는 만큼 복잡하고 멋지게 만들 수 있습니다!
장치 옵션
대화 장치를 에디터에 배치하면 장치의 기본 도구로 대화를 만들고 대화의 기본 유저 인터페이스(UI)를 디자인할 수 있습니다. 대화 뱅크 에셋 제작에 대한 자세한 정보는 대화 생성하기를 참고하세요.
다음 옵션을 사용하여 기본적인 대화를 만들 수 있습니다. 기본값은 굵게 표시됩니다. 상황별 필터링을 트리거하는 값은 이탤릭체로 표시되어 있습니다.
| 옵션 | 값 | 설명 |
|---|---|---|
대화 유형 (Conversation Type) | 방사상(Radial), 박스(Box), 커스텀(Custom) | 대화가 활성화될 때 표시되는 UI 스타일을 결정합니다. 자세한 정보는 위의 대화 유형 섹션을 참고하세요. |
대화 유형 상자(Conversation Type Box) | 표준(Standard), 화자 1명(One Speaker), 화자 2명(Two Speakers) | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 이는 대화 모달 UI에서 사용되는 상자의 유형을 결정합니다. |
초당 문자 수 (Characters Per Second) | 0.0, 숫자 입력 | 화면에 표시되는 초당 문자 수를 설정합니다. 기본적으로 모든 텍스트는 동시에 표시됩니다. |
텍스트 크롤 메시지 건너뛰기 (Skip Text Crawl Message) | 텍스트 공개(Reveal Text), 텍스트 입력 | 초당 문자 수(Characters Per Second) 옵션의 값이 0보다 크면 플레이어가 버튼을 클릭해 모든 텍스트를 한 번에 표시할 수 있습니다. 이 옵션은 해당 버튼에 어떤 텍스트가 표시되는지 결정합니다. |
대화(Conversation) | 대화 뱅크 에셋 선택 | 장치에서 이 대화 뱅크 에셋을 사용하여 대화를 실행합니다. |
화자 이름 (Speaker Name) | 이름 입력 | 대화 시 화자의 이름을 표시합니다. 비어 있는 경우 화면에 이름이 표시되지 않습니다. |
근접 시 이름 표시 (Show Name When Nearby) | 켜기, 끄기 | 이 옵션을 켜기(On)로 설정하면 플레이어가 화자로부터 약 5미터 이내에 있을 때 화자의 이름이 표시됩니다. |
말풍선 아이콘 표시 (Show Indicator Bubble) | 켜기(On), 끄기(Off) | 플레이어가 말풍선 아이콘 범위(Indicator Bubble Range) 옵션에서 설정한 거리 내에 있을 경우, 화자 위에 말풍선 아이콘을 표시할지 여부를 설정합니다. |
말풍선 아이콘 범위 (Indicator Bubble Range) | 5.0미터, 범위 입력 | 이 옵션은 말풍선 아이콘 표시(Show Indicator Bubble) 옵션을 켜기(On)로 설정한 경우에만 사용할 수 있습니다. 플레이어가 화자 위에 표시되는 말풍선 아이콘을 볼 수 있는 범위(미터)를 설정합니다. |
제목 텍스트 색상(Title Text Color) | 99DDFFFF, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 제목 텍스트 색상을 설정합니다. |
제목 테두리 색상(Title Border Color) | FFFFFF00, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 제목 테두리의 색상을 결정합니다. |
제목 배경 색상(Title Background Color) | 003D94CC, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 제목 텍스트의 배경 색상을 설정합니다. |
본문 텍스트 색상(Body Text Color) | FFFFFFCC, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 본문 텍스트의 색상을 설정합니다. |
본문 테두리 색상(Body Border Color) | 003D94CC, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 본문 텍스트 테두리의 색상을 결정합니다. |
버튼 텍스트 색상(Button Text Color) | FFFFFFFF, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 버튼 텍스트의 색상을 설정합니다. |
본문 배경 색상(Body Background Color) | 00000080, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 본문 텍스트의 배경 색상을 설정합니다. |
버튼 배경 색상(Button Background Color) | 00000080, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 버튼 텍스트의 배경 색상을 결정합니다. |
버튼 호버색상(Button Hovered Color) | 003D94CC, 색상 선택 | 이 옵션은 대화 유형(Conversation Type) 옵션을 상자(Box)로 설정한 경우에만 나타납니다. 마우스 커서를 올렸을 때의 버튼 색상을 설정합니다. |
월드 스페이스에서 대화 텍스트 표시(Show Conversation Text in World Space) | 켜기, 끄기 | 이 옵션은 대화 유형(Conversation Type) 옵션을 방사상(Radial) 또는 커스텀(Custom)으로 설정한 경우에만 나타납니다. 대화 그래프의 대사 노드에서 나온 대화 텍스트를 월드 스페이스에 표시합니다. |
동시에 허용되는 대화 수(Number of Conversations Allowed) | 1, 숫자 입력 | 동시에 발생할 수 있는 대화 인스턴스 수를 설정합니다. |
대화 최대치 도달 이름(Conversation Maxed Name) | 지금은 말할 수 없습니다(Can't talk now), 텍스트 입력 | 동시에 허용되는 대화 수(Number of Conversations Allowed) 값에 도달하면 화자 이름을 대체하는 텍스트입니다. |
대화 최대치 도달 색상(Conversation Maxed Color) | FF0000FF, 색상 선택 | 대화 최대치 도달 이름(Conversation Maxed Name)의 색상입니다. |
대화 (Conversation) | 없음(None), 대화 뱅크 에셋 선택 | 대화 뱅크 에셋을 가리킵니다. 드롭다운을 클릭하고 새 에셋 생성(Create New Asset) 아래에서 대화 뱅크를 선택해 새 대화 뱅크 에셋을 생성할 수도 있습니다. |
대화 최대치 도달 아이콘(Conversation Maxed Icon) | T_UI_NPC_SpeechIconNA, 아이콘 선택 | 동시에 허용되는 대화 수(Number of Conversations Allowed) 값에 도달하면 표시되는 아이콘을 설정합니다. |
눌렀을 때 사운드 오버라이드(Pressed Sound Override) | 없음(None), 오디오 큐 선택 | 버튼을 눌렀을 때 사용할 커스텀 사운드 큐를 선택합니다. |
마우스 올릴 시 사운드 오버라이드(Hovered Sound Override) | 없음(None), 오디오 큐 선택 | 마우스를 버튼 위에 올렸을 때 사용할 커스텀 사운드 큐를 선택합니다. |
대화 머티리얼(Conversation Materials) | 없음(None), 배열 엘리먼트 추가 | 대화 그래프에서 대화 머티리얼 설정(Set Conversation Material) 노드를 사용하는 경우 사용할 머티리얼을 지정하는 곳입니다. |
커스텀 위젯 | 없음(None), 커스텀 UI 위젯 선택 | 대화 유형(Conversation Type)을 커스텀(Custom)으로 설정한 경우 장치에서 어떤 커스텀 UI 위젯을 사용할지 지정합니다. |
기능 및 이벤트
기능
| 기능 | 설명 |
|---|---|
대화 시작(Initiate Conversation) | 이 이벤트를 트리거하는 플레이어에 대해 관련 대화를 강제로 실행합니다. |
대화 종료(Exit Conversation) | 이 이벤트를 트리거하는 플레이어에 대해 현재 대화를 강제로 종료합니다. |
모든 대화 종료(Exit All Conversations) | 이벤트를 수신하면 모든 대화를 끝냅니다. |
사용(Enable) | 이벤트 수신 시 장치를 사용 상태로 설정합니다. |
사용 안 함(Disable) | 이벤트를 수신하면 장치를 사용 안 함 상태로 설정합니다. |
대화 숨기기(Hide Conversation) | 이벤트 수신 시 대화를 숨깁니다. 대화가 숨겨지면 대답을 선택할 수 없습니다. |
대화 표시(Show Conversation) | 이벤트 수신 시 대화를 표시합니다. |
이벤트
| 이벤트 | 설명 |
|---|---|
대화 시작 시(On Conversation Started) | 새로운 대화가 시작되면 이벤트를 송신합니다. |
대화 종료 시(On Conversation Ended) | 대화가 끝나면 플레이어에게 이벤트를 송신합니다. |
대화 취소 시(On Conversation Cancelled) | 대화 종료(Exit Conversation) 또는 모든 대화 종료(Exit All Conversations) 함수가 호출되어 대화를 강제로 일찍 끝내야 할 경우 플레이어에게 이벤트를 전송합니다. |
아무 대화 이벤트 시(On Any Conversation Event) | 대화 중 관련된 대화 뱅크 에셋에서 번호가 지정된 아무 이벤트나 트리거되면 이벤트를 송신합니다. |
대화 이벤트 [1~10] 시 | 대화 뱅크에서 번호가 지정된 이벤트(이벤트 1~이벤트 10)에 대해 관련된 대화 뱅크 에셋이 트리거되면 이벤트를 송신합니다. 번호가 지정된 각 대화 이벤트에 대해 별도의 대화 이벤트 시(On Conversation Event) 옵션이 있습니다. |