안녕하세요. articy:draft 첫 걸음 튜토리얼 시리즈의 6번째 강좌에 오신 것을 환영합니다.
https://youtu.be/npZus-ETOrs?si=xk2IhRiYjyOdXSxA
복습:
5번째 강좌에서는 플로우(Flow) 에 대해 집중적으로 살펴보았습니다.
플로우의 시각적 표현이 상호작용 콘텐츠를 만들기에 얼마나 이상적인지 알아보았고, 중첩(Nesting) 개념과 대화 노드(Dialogue Node) 및 플로우 프래그먼트 노드(Flow Fragment Node) 의 구조를 배웠습니다. 또한 우리의 게임 스토리를 위한 최상위 구조(Top-level Structure) 를 만들었습니다.

이번 강좌:
이번 강좌에서는 첫 번째 실제 대화를 만들어보겠습니다. 이를 위해 새로운 플로우 요소인 대화 프래그먼트(Dialogue Fragment) 를 살펴보고, 상호작용형 대화(Interactive Dialogue) 를 구성하는 방법을 배워보겠습니다.

articy:draft에서 첫 번째 대화 만들기
1. 드라큘라(Dracula) 프로젝트를 열고 플로우(Flow) 로 이동합니다. 거기서 튜토리얼(Tutorial) 노드로 서브머지(Submerge) 합니다. 단축키가 기억나시나요? 맞습니다, 바로 Return 키입니다.

우리는 다시 스토리의 전체 구조로 돌아왔습니다. 오늘은 본격적으로 콘텐츠를 만들기 시작할 것입니다. 바로 드라큘라(Dracula) 와 미나(Mina) 가 처음 만나는 장면의 대화를 작성할 예정입니다.
2. 이제 구조의 두 번째 노드로 서브머지(Submerge) 하세요. 이곳이 바로 대화가 진행될 장소입니다.

이 계층에서는 빈 캔버스가 나타나며, 상위 노드의 점선 테두리만 보입니다. 하지만 곧 이곳이 콘텐츠로 채워질 것입니다. 지난 강좌에서 플로우 프래그먼트(Flow Fragment) 와 대화 노드(Dialogue Node) 가 내부 콘텐츠를 담는 컨테이너 역할을 한다는 것을 배웠습니다.
이제 실제 대사를 작성해야 하므로, 이를 위해 대화 프래그먼트(Dialogue Fragment) 라는 노드를 사용할 것입니다.
3. 툴바에서 대화 프래그먼트(Dialogue Fragment) 를 드래그하여 캔버스에 놓으세요.

이전의 노드들과는 다르게 보인다는 것을 바로 알 수 있습니다.
노드의 상당 부분이 화자(Speaker) 에 할당되어 있으며, 이름(Name) 과 아바타 이미지(Avatar Image) 가 눈에 띄게 표시됩니다.

계획된 대화의 화자(Speaker) 는 이미 엔티티(Entities) 로 존재해야 합니다. 이것이 바로 articy에서 미나(Mina) 캐릭터를 가장 먼저 생성한 이유입니다.
화자 필드(Speaker Field) 에 이름을 입력하기 시작하면, 기존의 엔티티 목록이 표시됩니다. 이때 Tab 또는 Return 키를 눌러 자동 완성할 수 있습니다.

이름(Name), 아바타 이미지(Avatar Image), 그리고 엔티티 색상(Entity Color) 은 엔티티의 데이터에서 자동으로 가져옵니다.

대화 프래그먼트 구성 요소:
대화 프래그먼트에는 세 가지 텍스트 필드가 있습니다: 메뉴 텍스트, 무대 지시, 그리고 실제 대사 입력 필드입니다. 메뉴 텍스트는 게임의 UI에 짧은 형태로 표시될 텍스트로 사용할 수 있습니다.
무대 지시는 예를 들어 보이스 오버 작업이나 모션 캡처를 위한 지시 사항을 포함할 수 있습니다.
마지막 텍스트 필드에는 드라큘라가 말해야 할 대사를 입력합니다.

물론 대화 프래그먼트에도 입력 핀(Input Pin) 과 출력 핀(Output Pin) 이 있습니다.

👉 대화 프래그먼트(Dialogue Fragments) 는 컨테이너가 아니므로 내부 콘텐츠를 담을 수 없습니다. 하지만 원하는 만큼 많은 텍스트를 입력할 수 있습니다.
⭐ 팁: 게임의 텍스트 영역에 한 화면에 표시할 수 있는 적당한 분량으로 나누어 여러 개의 대화 프래그먼트로 구성하는 것이 좋은 방법입니다. 이렇게 하면 가독성이 높아지고 상호작용이 더 자연스러워집니다.
현재 많은 텍스트가 있으니 일부를 두 번째 노드로 옮겨보겠습니다. 툴바에서 대화 프래그먼트를 드래그하여 새 노드를 만든 후 화자 정보를 입력하는 방법도 있지만, 더 쉽고 직관적인 방법이 있습니다.
4. 첫 번째 대화 프래그먼트의 출력 핀(Output Pin) 에서 연결선을 드래그하세요.
마우스 버튼을 놓으면 컨텍스트 메뉴가 나타나며, 여기서 새로운 노드를 생성할 수 있습니다.
이 메뉴에서는 대화 프래그먼트(Dialogue Fragment) 와 화자 정보가 미리 입력된 대화 프래그먼트 도 쉽게 추가할 수 있습니다.

현재는 드라큘라(Dracula) 만 선택할 수 있습니다. 이는 지금까지 이 대화에서 그가 유일한 화자였기 때문입니다. Dialogue Fragment - Dracula 옵션을 선택하면, 즉시 텍스트를 입력할 수 있는 노드가 생성됩니다.
5. 이제 미나(Mina) 가 말을 해야 합니다. 그녀는 아직 이 대화에 등장하지 않았기 때문에, 이전과 같은 방법을 반복해야 합니다. 이번에는 마지막 노드의 출력 핀(Output Pin) 에서 연결선을 드래그한 후, 일반 대화 프래그먼트(Generic Dialogue Fragment) 를 선택하세요.

6. 미나(Mina) 를 화자로 선택하려면 이름을 입력하기 시작한 후, 첫 번째 옵션을 선택하세요. 미나는 두 번 나타날 수 있는데, 이는 모든 콘텐츠와 마찬가지로 하나는 프로젝트의 최종(Final) 부분에 해당하는 버전으로 밑줄이 있는 버전(_f) 이기 때문입니다.

우리는 이 대화가 단순히 두 캐릭터 간의 주고받기만 하도록 만들고 싶지 않습니다. 플레이어가 수동적으로 따라가는 것이 아니라, 선택지를 추가하여 여러 가지 옵션을 제시하고, 플레이어가 그 중 하나를 선택하게 하고자 합니다. 이것이 바로 게임 스토리가 영화나 책과 같은 선형 미디어와 다른 점입니다. 상호작용(Interactivity) 과 스토리가 다양한 방향으로 발전할 가능성입니다. 이는 비디오 게임이 가진 큰 장점 중 하나입니다.
여기서 플레이어에게 세 가지 선택지를 제공하려고 합니다. 우리는 노드를 이전처럼 하나씩 만들 수 있지만, 더 쉽고 빠르게 여러 노드를 동시에 만들 수 있는 방법이 있습니다.
7. 마지막 노드의 출력 핀(Output Pin) 을 클릭합니다. 이제 이 노드에 연결된 새로운 노드를 몇 개 만들지 결정할 수 있습니다: 두 개를 선택하세요.

여기서 컨텍스트 메뉴(Context Menu) 를 통해 미나(Mina) 를 화자로 선택하세요.

이 지점은 플레이어가 결정을 내려야 하는 부분이므로, 메뉴 텍스트(Menu Text) 를 사용하여 게임 내에서 대사의 축약된 버전을 플레이어에게 표시할 수 있습니다.

실제 대사는 플레이어가 선택한 옵션 후에 재생됩니다. 이 축약된 대사는 선택 지점에서만 플레이어에게 표시되므로, NPC가 화자인 모든 노드와 선택과 관련이 없는 모든 플레이어 대사 노드에서 메뉴 텍스트를 비워두는 것이 완전히 괜찮습니다.
스토리 분기를 관리하기 위해, 게임에서 자주 사용되는 가짜 선택(Fake Choice) 기법을 사용할 것입니다. 세 개의 고유한 분기 대신, 두 개만 사용하고 세 번째 옵션은 그 중 하나로 다시 연결되도록 합니다.
9. 드라큘라(Dracula) 노드를 위한 다음 노드를 만든 후, 가장 위의 선택 노드(Topmost Choice Node) 의 출력 핀(Output Pin) 에서 드라큘라 노드의 입력 핀(Input Pin) 으로 연결을 드래그하세요.
이제 선택 옵션을 통해 "분기(branch)" 를 만들었으므로, 이제 두 개의 분기를 하나로 "병합(merge)" 합니다.

새로운 노드를 생성하는 순서는 전적으로 여러분의 선택에 달려 있으며, 개인적인 글쓰기 스타일에 따라 달라집니다. 어떤 사람들은 한 대화 분기를 끝까지 작성한 후 다음 분기로 넘어가는 것을 선호하고, 다른 사람들은 분기 1의 노드를 작성한 후 분기 2의 노드를 작성하는 것을 선호하기도 합니다. 또 다른 사람들은 현재 작업 중인 콘텐츠의 종류에 따라 이 두 가지를 섞어 사용하는 것을 좋아합니다.
10. 이제 분기(branch) 를 다시 병합(merge) 해야 할 시점입니다. 첫 번째 대화가 끝날 무렵이기 때문에, 우리는 미나(Mina) 가 드라큘라(Dracula) 에게 도전하는 내용으로 마무리할 것입니다.
이제 한 가지가 남았습니다: 대화의 첫 번째 노드와 마지막 노드를 상위 노드(parent node) 의 해당 핀에 연결해야 합니다. 이는 중요한 단계로, 나중에 플로우에 막다른 길(dead ends) 이 생기지 않도록 하기 위해서입니다.

정말 멋진 첫 번째 대화가 완성되었습니다. 분기, 병합, 선택지가 모두 잘 적용되었습니다 – 잘하셨어요!
이 강좌를 마무리하기 전에, 플로우를 더 잘 조직할 수 있는 몇 가지 방법을 소개하겠습니다:
첫 번째는 주석(Annotations) 입니다.
11. 플레이어 선택(Player Choice) 이라는 것을 기억하기 위해 주석을 추가해 봅시다. 이를 위해 툴바에서 주석(annotation) 을 드래그하여 캔버스에 놓으세요.

12. 원하는 노드를 강조하고 싶다면, 각각의 노드에 수동으로 색을 지정할 수도 있습니다. 색을 변경하고 싶은 노드를 클릭한 후, 툴바에서 페인트통 아이콘을 선택하세요.

이제 이 노드가 다른 노드들과 확실히 다르다는 것이 눈에 띄게 되었습니다 – 그것이 바로 우리의 가짜 선택 옵션(fake choice option) 입니다.
이번 강좌는 정말 유익했습니다!
복습:
우리는 다양한 방법으로 대화 프래그먼트를 생성하는 방법을 배웠고, 플레이어 선택(Player Choice) 이 포함된 첫 번째 상호작용형 대화를 작성했습니다.

다음 강좌:
다음 강좌에서는 플레이어의 관점에서 이 대화를 프리젠테이션 모드로 살펴보겠습니다. 함께해 주셔서 감사합니다. 다음 튜토리얼에서도 다시 만나 뵙길 바랍니다.

'기타 툴 > articy:draft3' 카테고리의 다른 글
articy:draft 첫 걸음 튜토리얼 시리즈 L08 글로벌 변수 (1) | 2025.02.05 |
---|---|
articy:draft 첫 걸음 튜토리얼 시리즈 L07 프리젠테이션 모드 (0) | 2025.02.04 |
articy:draft 첫 걸음 튜토리얼 시리즈 L05 플로우 (0) | 2025.02.04 |
articy:draft 첫걸음 튜토리얼 시리즈 L04 캐릭터 만들기 (0) | 2025.02.03 |
articy:draft 첫걸음 튜토리얼 시리즈 L03 articy:draft 개요 (0) | 2025.02.03 |