게임플레이에 영향을 주는 선택지를 고르거나, 아이템을 구매하거나, NPC 태스크를 완료하면 보상을 받을 수 있는 재미있는 대화를 대화 장치로 만들어 보고 싶으신가요? 이러한 대화는 몰입감을 높여주고 정보를 제공해 주며 흥미를 유발하면서, 플레이어에게 꼭 필요한 리소스와 정보를 제공해 게임 스토리를 이끌어 갑니다.
팝업 대화창 장치는 대화 장치와 핵심 기능을 공유하고 있습니다. 두 장치의 용도는 다음과 같습니다.
플레이어를 위한 메시지나 지침을 표시합니다.
(추적기 장치와 함께 사용하는 경우) 목표의 배경 정보를 표시합니다.
보이지 않는 클래스 선택 장치와 연결해 플레이어가 클래스를 선택할 수 있게 합니다.
플레이어와 NPC 사이의 대화를 생성합니다.
대화(Conversation) 장치를 사용하면 기능을 한층 더 활용할 수 있는데, 대화에 선택지를 더해 플레이어의 선택에 따라 이벤트가 트리거되고 게임 결과가 바뀌도록 할 수 있습니다.
포트나이트 언리얼 에디터(Unreal Editor for Fortnite, UEFN)에서는 다음과 같은 용도로 대화 장치를 사용합니다.
대화 트리 생성하기
분기 대화 만들기
대화 트리에 이벤트를 사용해 다른 장치 트리거하기
장치 찾기 및 사용하기
대화 장치는 Fortnite > Devices > UI 폴더에서 찾을 수 있습니다. 콘텐츠 브라우저에서 장치를 드래그해 뷰포트의 NPC 생성 장치 또는 캐릭터 장치 옆에 배치합니다.
이 장치의 일반적인 워크플로는 다음과 같습니다.
대화 장치를 레벨에 배치하고 장치 사용에 필요한 에셋을 설정합니다.
이벤트 바인딩과 함께 대화 시작(Initiate Conversation) 함수를 사용하거나, Verse를 사용하여 트리거 장치와 같은 다른 장치에서 InitiateConversation을 호출합니다.
게임을 시작하고 장치와 상호작용하여 대화를 시작합니다.
장치를 올바르게 구성했으면 대화가 시작됩니다.
장치 구성하기
컨버세이션 그래프(Conversation Graph) 에셋을 생성하려면 콘텐츠 브라우저(Content Browser) 안에서 우클릭한 뒤 게임플레이(Gameplay) > 컨버세이션 뱅크(Conversation Bank)를 선택합니다.
또는 대화 장치의 대화 필드 안에 새로운 컨버세이션 그래프 에셋을 생성할 수도 있습니다.
새로 생성된 에셋을 더블클릭해 컨버세이션 그래프를 엽니다.
노드를 추가하여 대화를 생성합니다. 먼저 디폴트 엔트리 포인트(Default Entry Point) 노드를 배치합니다. 이 노드에서 모든 대화가 시작됩니다.
대화 생성에 대한 자세한 내용은 커스텀 대화 UI 페이지를 참고하세요.
대화 장치를 레벨로 드래그합니다.
생성한 대화를 대화 필드에 추가합니다.
장치 기본 사항
대화 장치를 뷰포트에 배치하면 장치의 네이티브 도구로 컨버세이션 그래프를 만들고 대화의 기본 사용자 인터페이스(UI)를 디자인할 수 있습니다.
장치의 메인 옵션에서는 세 가지 기본 옵션을 사용해 기본 대화를 생성할 수 있습니다.
대화 유형(Conversation Type) - 대화가 활성 상태일 때 표시되는 UI 스타일을 결정합니다. 자세한 내용은 대화 유형을 참고하세요.
컨버세이션 그래프(Conversation Graph) - 장치에서 이 에셋을 사용하여 대화를 실행합니다.
화자 이름(Speaker Name) - 대화 중에 화자의 이름을 표시합니다. 비어 있는 경우 화면에 이름이 표시되지 않습니다.
기본 UI 스타일
대화 유형을 박스(Box)로 설정하면 박스의 기본 UI 디자인이 다음 디자인 옵션을 사용합니다.
제목 텍스트 컬러(Title Text Color) - 박스의 제목 컬러입니다.
제목 테두리(Title Border) - 제목의 테두리 컬러입니다.
제목 백그라운드 컬러(Title Background Color) - 제목 백그라운드의 컬러입니다.
본문 텍스트 컬러(Body Text Color) - 박스의 본문 텍스트 컬러입니다.
본문 백그라운드 컬러(Body Background Color) - 텍스트의 백그라운드 컬러입니다.
버튼 백그라운드 컬러(Button Background Color) - 박스의 버튼 백그라운드 컬러입니다.
버튼 호버 컬러(Button Hover Color) - 마우스 커서를 올렸을 때의 버튼 컬러입니다.
기본 대화 기능
다음과 같은 5가지 기본 대화 함수가 있습니다.
대화 시작(Initiate Conversation) - 이 이벤트를 트리거하는 플레이어를 대상으로 관련 대화를 강제로 실행합니다.
대화 종료(Exit Conversation) - 이 이벤트를 트리거하는 플레이어를 대상으로 현재 대화를 강제로 종료합니다.
모든 대화 종료(Exit All Conversations) - 선택한 채널의 신호를 수신하면 모든 대화에서 나옵니다.
활성화(Enable) - 선택한 채널로 신호를 수신하면 장치를 활성화합니다.
비활성화(Disable) - 선택한 채널로 신호를 수신하면 장치를 비활성화합니다.
대화 숨기기(Hide Conversation) - 선택한 채널로 신호를 수신하면 대화를 숨깁니다. 대화가 숨겨지면 대답을 선택할 수 없습니다.
대화 표시(Show Conversation) - 선택한 채널로부터 신호 수신 시, 대화가 숨겨져 있을 경우 이를 표시합니다.
기본 대화 이벤트
대화 장치 이벤트는 아래와 같습니다.
대화 시작 시(On Conversation Started) - 새로운 대화가 시작되면 메시지를 브로드캐스트합니다.
대화 종료 시(On Conversation Ended) - 대화가 끝나면 플레이어에 대해 이 이벤트를 브로드캐스트합니다.
대화 취소 시(On Conversation Cancelled) - 대화 종료 또는 모든 대화 종료 기능이 호출되어 대화를 강제 종료해야 할 경우, 플레이어에게 이 이벤트 신호를 전송합니다.
아무 대화 이벤트 시(On Any Conversation Event) - 대화 중 해당 컨버세이션 그래프로부터 숫자가 지정된 아무 이벤트가 트리거되면 메시지를 브로드캐스트합니다.
대화 이벤트 1 시(On Conversation Event One) - 관련 컨버세이션 그래프로부터 이벤트 1에 대한 이벤트가 트리거되면 메시지를 브로드캐스트합니다.
대화 이벤트 2 시(On Conversation Event Two) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 3 시(On Conversation Event Three) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 4 시(On Conversation Event Four) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 5 시(On Conversation Event Five) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 6 시(On Conversation Event Six) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 7 시(On Conversation Event Seven) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 8 시(On Conversation Event Eight) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 9 시(On Conversation Event Nine) - 대화 이벤트 1 시를 참고하세요.
대화 이벤트 10 시(On Conversation Event Ten )- 대화 이벤트 1 시를 참고하세요.
자세한 내용은 다음 페이지를 참고하세요.
대화 유형
대화 모달에는 세 가지 유형이 있습니다. 바로 방사상(radial), 박스(box), 커스텀(custom)입니다. 모든 모달은 선택지를 보여주고 이벤트를 트리거합니다.
게임에서 일관된 대화 모달을 사용하는 것이 좋습니다. 한 대화에서 방사상 모달을 선택했다면 프로젝트의 모든 대화에 방사상 모달을 사용해야 합니다.
방사상
방사상 모달은 휠 모양으로 대화 UI와 선택지를 표시합니다. 이 스타일은 포트나이트 배틀로얄 NPC 상호작용에 사용되고 있습니다.
복잡한 대화나 복합적인 배경 스토리가 없는 게임이라면 방사상 모달을 사용해 효과적으로 아이템을 제공하고 게임 내 거래를 구현할 수 있습니다.
박스
박스 모달은 공간이 충분하기 때문에 자세하고 복잡한 스토리라인에 사용하기 좋습니다. 플레이어가 읽게 될 내용을 생각해 보고 최대한 가독성 좋은 대화를 만들어 보세요. 롤플레잉 게임, 비주얼 노벨 등 다양한 장르의 게임에서 상호작용에 박스 UI를 사용하고 있습니다.
상자 모달에는 다음과 같은 세 가지 대화 유형 상자 스타일이 있습니다.
일반 - 기본 상자 유형입니다.
단일 화자 - 화자 아이콘을 표시하는 커스터마이징 가능한 상자입니다.
화자 2명 - 화자 아이콘을 표시하는 커스터마이징 가능한 상자입니다.
일반
일반 상자 유형은 상자 형태로 NPC 대화를 표시하며, 대사 상자 옆에 플레이어의 선택지 목록을 보여줍니다.
단일 화자
단일 화자 상자 유형은 상자 형태로 화자의 이름과 텍스트를 표시하며, 대사 상자 오른쪽에 응답 버튼을 보여줍니다. 기본 일반 옵션과 달리 대화 머티리얼(Conversation Material) 옵션을 사용하여 대사 상자 위에 화자를 나타내는 UI 머티리얼을 사용할 수 있습니다.
커스텀 화자 아이콘을 설정하는 방법을 알아보려면 커스텀 대화 UI 문서를 참고하세요.
화자 2명
화자 2명 상자 유형은 상자 형태로 현재 화자의 이름과 텍스트를 표시하며, 대사 상자 오른쪽에 응답 버튼을 보여줍니다. UI 머티리얼은 현재 화자를 나타내기 위해 이 상자 유형에서도 사용할 수 있습니다. 컨버세이션 그래프에서 화자 2명을 설정하는 방법을 알아보려면 대화 생성하기 문서를 참고하세요.
커스텀
커스텀 모달을 사용하면 대화 UI의 모든 부분을 완전한 커스텀 모양으로 생성할 수 있습니다. 커스텀 UI로 게임 내 대화의 톤과 스타일을 설정할 수 있습니다.
커스텀 대화 모달은 위젯 에디터를 사용하여 생성할 수 있습니다. 커스텀 대화 UI를 생성하는 방법은 커스텀 대화 UI를 참고하세요.
커스텀 모달에는 대화 장치를 할당해야 하며, 장치가 커스텀 UI를 사용하도록 설정해야 성공적으로 대화를 시작할 수 있습니다.
아래에 게임 내에서 커스텀 위젯이 어떻게 보이는지 간단한 예가 나와 있습니다.
대화 에디터
모든 대화는 대화 에디터(Conversation Editor)에서 노드를 사용해 대화 계층구조를 채워야 구현할 수 있습니다.
대화 에디터는 컨버세이션 그래프를 생성하는 유일한 방법입니다. 컨버세이션 그래프는 간단하게 만들 수도, 복잡하게 만들 수도 있습니다. 컨버세이션 그래프의 응답에는 상한선이 없지만, 특정 모달이 한 번에 처리할 수 있는 응답의 수에는 제한이 있습니다.
컨버세이션 그래프는 대화 에디터에서 만들 수 있습니다. 컨버세이션 뱅크를 더블클릭하면 대화 에디터가 열립니다. 에디터를 사용하려면 그래프 영역을 우클릭하고 노드 선택(Node Selection) 메뉴에서 노드를 선택합니다.
대화 에디터는 크게 다음과 같은 4가지 부분으로 이뤄져 있습니다.
이미지를 클릭하면 확대됩니다.
노드 그래프(Node Graph): 대화 계층구조는 여러 대화 노드를 스태킹하고 연결하여 만들 수 있습니다.
노드 선택(Node Selection) 메뉴 우클릭: 모든 대화 노드가 포함되어 있습니다. 노드를 선택하면 그래프에 추가됩니다.
디테일(Details) 패널: 노드의 편집 가능 텍스트 및 이벤트 영역입니다.
대화 트리(Conversation Tree): 노드의 계층구조와 응답 노드에 할당된 텍스트를 보여줍니다.
컨버세이션 그래프
컨버세이션 그래프는 일련의 대화 노드를 함께 연결하여 생성합니다. 노드는 그래프 계층구조를 사용해 플레이어가 대화를 어디까지 진행했는지, 그래프가 언제 완료되는지를 결정합니다. 플로차트와 비슷한 형태입니다.
일반적인 대화 디자인은 다음과 같습니다.
컨버세이션 그래프는 디폴트 엔트리 포인트 노드로 시작합니다. 이 노드는 대화가 시작되는 첫 번째 스피치 노드로 연결됩니다.
스피치 노드에는 플레이어를 대화 트리로 안내하는 일종의 소개 텍스트가 있습니다.
이 섹션의 노드는 대화 트리의 시작점으로 돌아가게 됩니다.
이 섹션의 노드는 플레이어가 결정을 내리도록 메시지를 표시합니다.
이 섹션의 노드는 대화 트리의 시작점으로 돌아가게 됩니다.
이 섹션의 노드는 대화 트리의 시작점으로 돌아가게 됩니다.
노드 계층구조는 대화 트리에서 플레이어의 선택에 따라 플레이어가 얼마나 깊은 수준까지 대화를 진행했는지를 추적합니다. 계층구조는 그래프에 이벤트, 응답, 다른 대화 노드를 추가하여 생성할 수 있습니다.
대화 노드
대화 노드는 대화에서 액션의 기반이 됩니다. 예를 들어 대화를 시작하거나 플레이어가 선택할 수 있는 버튼으로 표시된 일련의 선택지를 제공할 수 있습니다.
노드에는 디테일 패널에 편집 가능한 필드가 하나 있는데, 이 필드에 텍스트를 입력하게 됩니다. 아래 표는 다양한 대화 노드를 설명합니다.
| 노드 이름 | 설명 |
|---|---|
디폴트 엔트리 포인트(Default Entry Point) | 컨버세이션 그래프를 시작하는 노드입니다. |
음성(Speech) | 대부분의 대화에서 사용하는 주된 노드 유형입니다. 이 노드는 NPC 또는 대화 타깃에 의해 재생이 진행되는 동안 기본 UI에 나타나는 텍스트 선택 항목을 생성합니다. 이 필드는 메시지 영역을 사용해 텍스트를 입력합니다. |
응답(Response) | 컨버세이션 그래프에서 선택지를 생성할 때 사용되는 노드입니다. 하나의 스피치 노드에서 여러 개의 응답 노드가 갈라져 나오면 대화가 중단되고 사용자가 여러 옵션 중 하나를 선택할 수 있게 됩니다. 크리에이터는 이 노드를 통해 게임 중 대화가 재생될 때 선택지로 나타날 텍스트를 입력할 수 있습니다. 참고: 방사상은 한 번에 최대 5개, 커스텀은 최대 6개의 선택지를 표시할 수 있으며 박스에는 제한이 없습니다. |
반복(Repeat) | 이 노드는 그래프에서 이전에 연결된 노드로 돌아갑니다. 스피치 노드가 없으면 플레이어가 직접 대화에서 빠져나와야 합니다. 반복 횟수(Number Of Times To Repeat)를 설정할 수 있고, 반복 횟수에 설정된 값만을 반복할 것인지도 설정할 수 있습니다. 반복 횟수를 0으로 설정하면 무한 반복됩니다. |
이벤트(Event) | 이벤트 노드는 컨버세이션 그래프를 통해 대화 장치에 연결된 장치 이벤트를 트리거합니다. |
대화 재시작(Restart Conversation) | 플레이어를 대화 트리의 시작점으로 돌려놓습니다. |
경유(Reroute) | 경유 노드는 컨버세이션 그래프를 시각적으로 쉽게 이해할 수 있게 해 줍니다. 경유 노드에서는 하나의 실행 라인만 나올 수 있지만, 입력은 그래프의 여러 소스에서 받을 수 있습니다. |
대화 머티리얼 설정(Set Conversation Material) | 이 노드는 대화 장치가 다음 대화 유형 중 하나를 사용하는 경우 커스텀 머티리얼을 어태치된 컨버세이션 뱅크에 추가합니다.
UI 위젯에서는 CreativeModalDialogVariant 뷰모델의 Make Image Brush from Material 함수를 사용하여 이를 수행합니다. 이 옵션은 관련 사용자가 참여 중인 현재 대화에만 적용되며, 새 대화가 시작될 때 장치에 설정된 값이 사용됩니다. |
대화 화자 이름 설정(Set Conversation Speaker Name) | 대화 화자 이름 설정 노드는 장치의 화자 이름을 설정합니다. 이 옵션은 현재 대화에만 적용되며, 새 대화가 시작될 때 장치에 설정된 값이 사용됩니다. |
대화 숨기기(Hide Conversation) | 이 노드는 대화 UI를 숨깁니다. 이 옵션은 사용자가 참여 중인 현재 대화에만 적용되며, 새 대화가 시작될 때 장치에 설정된 값이 사용됩니다. |
대화 애니메이션 재생(Play Conversation Animation) | 이 노드는 대화 유형이 상자 또는 커스텀으로 설정된 경우 애니메이션을 재생하는 옵션을 제공합니다. 커스텀 UI에는 적절한 뷰모델 설정이 필요합니다. 상자 애니메이션은 대화에서 상자 UI가 사용되는 경우 재생되는 애니메이션입니다. 다음과 같은 애니메이션 스타일이 사용되어 대화 UI에 표시됩니다.
뷰모델에 설정된 다른 사항과 함께 뷰모델에 사용되는 진행도 값을 사용하여 애니메이션을 일시정지 및 재생할 수 있습니다. |
대화 텍스트 속도 설정(Set Conversation Text Speed) | 이 노드는 장치의 CharactersPerSecond 값을 설정합니다. 이 옵션은 관련 사용자가 참여 중인 현재 대화에만 적용되며, 새 대화가 시작될 때 장치에 설정된 값이 사용됩니다. |
노드 활성화 순서
노드는 연결 순서대로 활성화됩니다. 아래 예시를 참고하세요.
예시 설명:
스피치 노드가 컨버세이션 이벤트 노드에 앞서 디폴트 엔트리 포인트 노드와 연결되어 있으므로 먼저 활성화됩니다. 컨버세이션 이벤트 노드는 무시됩니다.
계속 메시지를 포함한 응답 노드가 스피치 노드에 연결되어 있으므로, 플레이어의 선택 즉시 활성화됩니다.
응답 노드 다음으로 스피치 노드가 활성화됩니다.
두 개의 응답 노드가 하나로 모이고, 사용자에게 선택 가능한 옵션이 표시됩니다.
화살표가 향하는 방향으로 대화의 흐름을 살펴보세요.