안녕하세요! articy:draft 첫 걸음 튜토리얼 시리즈의 18번째 강좌에 오신 것을 환영합니다.

 

https://youtu.be/5ppVSobtoak?si=4sAkkfWKuU-PP8jy

 

 

 

복습:

이전 강좌에서는 "충돌 검색(Conflict Search)" 기능을 활용하여 프로젝트 내 문제를 찾는 방법을 배웠습니다.

 

이번 강좌:

이번 강좌를 끝으로 첫 단계 튜토리얼 시리즈를 마무리합니다. 우선 프레젠테이션 모드(Presentation Mode) 를 다시 살펴보고, 변수 값을 수정하여 특정 상황을 시뮬레이션하는 방법을 배울 것입니다. 이후, articy:draft 활용을 위한 추가 조언을 제공하며 강좌를 마무리하겠습니다.

 

우리는 프로젝트에서 변수를 사용하여 다양한 게임 상태를 저장합니다. 프로젝트의 일부만 시뮬레이션하거나, 아직 값이 설정되지 않은 요소를 포함하려면, 프레젠테이션 모드(Presentation Mode) 에서 초기 변수 값을 수정할 수 있습니다.

 

"Final Confrontation" 대화 노드로 이동하여 내부로 들어갑니다.

 

처음에 “이름 공개(name revealed)” 변수를 확인하는 반응 지점(Reaction Point) 이 있었던 것을 기억하시나요?
이 변수의 값은 첫 번째 대화에서만 변경될 수 있습니다. 따라서 두 번째 대화만 시뮬레이션하면, 이 변수는 항상 기본값(Default Value) 을 유지하게 됩니다.

 

또한, "Final Confrontation" 대화에서 테스트해야 할 또 다른 요소는 선택 지점(Choice Point) 입니다. 여기에는 플레이어가 "Stake" 아이템을 가지고 있어야만 선택할 수 있는 옵션이 존재합니다.

 

현재 프로젝트에서는 Stake 아이템을 획득하는 방법이 구현되지 않았기 때문에, 시뮬레이션에서는 이 선택지가 항상 비활성화된 상태일 것입니다. 어떻게 해결할 수 있을까요?

 

프레젠테이션 모드에서 변수 상태 변경하기

1. 첫 번째 대화 조각(Dialogue Fragment)에서 시뮬레이션을 시작합니다.

 

2. 이제 내비게이터(Navigator) 에서 여정 항목(Journey Entry) 을 클릭하거나, 툴바의 “설정(Settings)” 버튼을 클릭합니다.

 

3. “초기 변수 값(Initial Variable Values)” 탭으로 이동합니다.

 

4. 여기에서 모든 변수 목록을 확인할 수 있습니다. 이제 "name revealed""stake" 변수 값을 true 로 변경하겠습니다.

 

👉 여기서 변경한 값은 현재 시뮬레이션에만 적용됩니다. 변수의 실제 값이 영구적으로 변경되는 것은 아닙니다.

 

5. 이제 툴바의 "재생(Play)" 아이콘을 클릭하여 시뮬레이션으로 돌아갑니다.

 

6. “플레이어 모드(Player Mode)” 에서 시뮬레이션을 진행합니다.

 

변수 값을 변경했기 때문에, 반응 지점에서 드라큘라가 미나(Mina)의 이름을 알고 이를 사용하는 분기(branch) 를 따라가는 것을 확인할 수 있습니다.

 

또한, 선택 지점(Choice Point)에 도달하면, 이제 아이템과 연결된 선택지가 활성화된 것을 확인할 수 있습니다.

 

변수 값을 편집할 수 있는 기능을 활용하면, 다양한 테스트 시나리오를 만들고 프로젝트의 여러 경우를 효과적으로 시뮬레이션할 수 있습니다.

 

articy:draft에 대한 추가 정보가 필요하다면, articy.com 지원 페이지(Support Page) 를 방문하세요. 여기에서 다운로드, FAQ, 지원팀 문의 방법 등 다양한 정보를 확인할 수 있습니다.

 

필요한 정보를 다시 확인하거나 특정 주제를 더 깊이 탐색하고 싶다면, 도움말 센터(Help Center) 에 방문하여 방대한 문서를 참고하세요.

 

이제 articy의 기본적인 사용법을 익히고, 소프트웨어 내에서 자유롭게 탐색할 수 있게 되었습니다. 더 깊이 있는 학습을 원한다면, 고급 데모 프로젝트(Advanced Demo Projects) 를 살펴보는 것도 좋은 방법입니다. articy 튜토리얼 시리즈를 처음 시작할 때 전체 패키지를 설치했다면, 프로젝트 목록에서 다른 데모 프로젝트를 바로 열어볼 수 있습니다.

 

만약 설치하지 않았다면, articy:draft 3articy:draft X의 데모 프로젝트를 articy 웹사이트에서 다운로드할 수 있습니다.

 

Unity 또는 Unreal을 사용하는 경우, "Maniac Manfred" 프로젝트를 살펴보는 것도 좋은 선택입니다. 이 프로젝트 외에도, articy 3 Unity, articy X Unity, articy 3 Unreal, articy X Unreal 용 엔진 프로젝트를 다운로드하여 articy 데이터가 엔진에 어떻게 통합되는지 상세히 확인할 수 있습니다.

 

articy로 제작된 다양한 게임을 확인하고 싶다면, Showcase 페이지 를 방문하세요. indie부터 대형 스튜디오까지 다양한 개발자들이 articy:draft를 활용하여 모든 플랫폼에서 게임을 제작하고 있습니다. 일부 개발자들은 자신의 작업 흐름을 개선한 articy 활용 팁을 공유하기도 했습니다.

 

게임 업계의 다양한 인물과의 인터뷰를 보고 싶다면, articy YouTube 채널 을 방문하세요.

 

이제 첫 걸음을 마쳤으니, 여러분만의 프로젝트를 시작할 차례입니다. 새로운 프로젝트를 생성하고, 배운 내용을 활용해 직접 게임을 제작해보세요!

 

모든 것이 잘되길 바랍니다. 다음에 또 만나요!

 

유용한 링크:

🔹 지원 페이지(Support Page)
🔹 도움말 센터(Help Center)
🔹 articy:draft 3 데모 프로젝트 다운로드
🔹 articy:draft X 데모 프로젝트 다운로드
🔹 articy 3 Maniac Manfred Unity 프로젝트
🔹 articy X Maniac Manfred Unity 프로젝트
🔹 articy 3 Maniac Manfred Unreal 프로젝트
🔹 articy X Maniac Manfred Unreal 프로젝트
🔹 Showcase 페이지
🔹 YouTube 채널

안녕하세요! articy:draft 첫 걸음 튜토리얼 시리즈의 17번째 강좌에 오신 것을 환영합니다.

 

https://youtu.be/gpvKjBnRzIo?si=7GjCBr79bfDRL4ph

 

 

복습:

이전 강좌에서는 “위치 편집기(Location Editor)” 를 살펴보고, 이를 활용하여 팀을 위한 참조 지도를 만드는 방법을 배웠습니다. 게임 장면과 주요 지점을 강조하고, 링크를 통해 대사를 참조하는 방식으로 작업했습니다.

 

이번 강좌:

오늘은 “충돌 검색(Conflict Search)” 기능을 활용하여 프로젝트에서 발생할 수 있는 문제와 오류를 확인하는 방법을 배워보겠습니다.

 

 

충돌 검색(Conflict Search)

이제 첫 단계 튜토리얼 시리즈의 마무리를 향해 가고 있습니다. 프로젝트를 꼼꼼하게 점검하고, 다양한 유형의 충돌을 확인하기 좋은 시점입니다. 이를 위해 “충돌 검색(Conflict Search)” 기능을 사용합니다.

이 기능은 내비게이터(Navigator) 툴바에서 사용할 수 있으며, 일반 검색(Search) 탭 바로 옆에 위치해 있습니다. 일반 검색 기능은 10번째 강좌에서 여러 개체에 템플릿을 할당할 때 사용했었습니다.

 

1. 충돌(Conflicts) 탭을 클릭합니다.

 

"Conflicts" 탭을 클릭하면 프로젝트 트리가 "충돌 검색(Conflict Search)" 환경으로 변경됩니다. 상단에서는 검색 기준을 확인할 수 있으며, 하단에서는 검색 결과가 표시됩니다.

 

검색하려는 충돌 유형을 지정하여 검색 범위를 좁힐 수도 있습니다. 하지만, 프로젝트에서 발생할 수 있는 모든 문제를 확인하고 싶기 때문에 모든 옵션을 선택된 상태로 둡니다.

 

다음으로 검색 범위를 결정할 수 있습니다. 여기서는 기본 설정을 그대로 사용하여 프로젝트 전체를 검색합니다.

 

2. "Search" 버튼을 클릭하여 검색을 시작합니다.

 

좋아요, 세 가지 결과가 나타났습니다. 이제 자세히 살펴보겠습니다.

 

첫 번째 충돌은 Flow에서 알 수 없는 변수가 발견된 경우입니다.

 

3. 충돌을 설명하는 줄을 클릭하면, 해당 요소가 오른쪽 콘텐츠 영역에 열립니다.

 

조건식 내부에 오타가 있는 것 같습니다. 쉽게 수정할 수 있습니다.

 

4. 해당 요소의 위치가 확실하지 않다면, 툴바에 있는 "Flow 편집기에서 보기(Show in Flow Editor)" 아이콘을 클릭하여 해당 요소가 포함된 문맥을 확인할 수 있습니다.

 

두 번째 충돌은 Van Helsing 엔티티에서 잘못된 속성(Invalid Property) 이 발견된 경우입니다.

 

5. 충돌 항목을 클릭하여 콘텐츠 영역에서 엽니다.

 

6. 보이스 액터(Voice Actor) 정보 입력을 깜빡한 것 같습니다. 해당 필드 위에 마우스를 올려보면, 해당 항목이 필수 입력값(Mandatory) 으로 설정되어 있음을 확인할 수 있습니다.

 

7. "Edit Feature" 버튼을 클릭하여 해당 속성을 자세히 확인합니다.

 

👉 특정 속성이 매우 중요하다면, 속성 파라미터(Property Parameters) 에서 이를 필수(Mandatory) 로 설정할 수 있습니다. 만약 값이 입력되지 않으면, 해당 속성은 템플릿 탭(Template Tab) 에서 빨간색으로 강조 표시되며, 충돌 검색(Conflict Search) 에도 나타나게 됩니다.

 

이것도 빠르게 해결할 수 있습니다. Van Helsing의 보이스 액터 이름만 입력하면 됩니다. 만약 이 정보가 필수 사항이 아니라고 판단되면, Feature Editor 에서 해당 속성의 필수 플래그(Mandatory Flag) 를 제거할 수도 있습니다.

 

세 번째 충돌은 또 다른 엔티티와 관련이 있습니다. 이번에는 아이템 "Stake" 에 대한 문제로, 우리가 설정한 제한 값(Constraints) 을 초과했습니다.

 

해당 필드 위에 마우스를 올려보면, 이 속성의 최대값이 10 으로 설정되어 있음을 확인할 수 있습니다.

 

아마 값을 입력할 때 작은 실수가 있었던 것 같습니다. 이러한 실수를 쉽게 잡아내기 위해 템플릿(Templates) 에서 제한 값(Constraints) 을 설정하는 것이 중요합니다.

 

이제 프로젝트 내 모든 충돌을 처리했습니다.

 

모든 것이 정상인지 확인하기 위해, "Search" 버튼을 다시 클릭합니다.

 

충돌이 0개 발견되었습니다. 훌륭합니다!

 

이번 강좌를 마무리하겠습니다.

 

 

복습:

오늘은 "충돌 검색(Conflict Search)" 기능을 활용하여 프로젝트 내 문제를 탐색하는 방법을 배웠습니다.

 

다음 강좌 예고:

다음 강좌에서는 프레젠테이션 모드(Presentation Mode) 를 다시 살펴보고, 변수 값을 수정하여 특정 상황을 시뮬레이션하는 방법을 배울 것입니다.
이후, 첫 단계 튜토리얼 시리즈를 마무리하며 articy:draft 활용을 위한 추가 조언을 제공할 예정입니다.

참여해 주셔서 감사합니다. 다음 튜토리얼에서 다시 만나요!

안녕하세요! articy:draft 첫 걸음 튜토리얼 시리즈의 17번째 강좌에 오신 것을 환영합니다.

 

https://youtu.be/5KIIp65q2Yo?si=nciCf7NTNHaLoPtn

 

 

검토:

이전 레슨에서 우리는 '최종 대결' 대화의 구조를 점프(Jump) 및 허브 플로우(Hub Flow) 요소를 사용하여 업데이트했습니다.

 

이번 레슨:

오늘은 articy의 새로운 영역인 '위치 편집기(Location Editor)'를 살펴보겠습니다. 이를 사용하여 지도에 참조 마커를 추가함으로써, 팀이 특정 게임 위치에서 어떤 일이 진행되는지 쉽게 파악할 수 있도록 하겠습니다.

 

 

위치 편집기(Location Editor):

articy의 위치 편집기는 주로 팀 내 커뮤니케이션 수단으로 사용됩니다. 또한, 프로젝트를 공간적으로 시각화하여 작가를 지원하는 역할도 합니다.

 

👉 위치 편집기는 레벨 편집기가 아니며, 게임 엔진에서 직접 사용할 게임 레벨을 생성하기 위한 것이 아닙니다.

 

이제 간단한 주의를 마쳤으니, 본격적으로 시작해봅시다!

 

1. Jumpstart 페이지에서 "Locations" 버튼을 클릭합니다.

 

2. 튜토리얼 폴더를 선택합니다.

 

3. 이미 "map"이라는 위치 객체가 존재하며, 이를 더블 클릭하여 엽니다.

 

오른쪽의 콘텐츠 영역에는 해당 위치가 표시되며, 왼쪽의 네비게이터(Navigator)에서는 사용된 요소들의 개요를 볼 수 있습니다. 여기서 요소의 가시성을 전환하거나, 요소 이름 옆을 클릭하여 고정할 수도 있습니다.

 

마치 Flow에서처럼, 마우스 휠을 사용하여 확대/축소할 수 있으며, 가운데 또는 오른쪽 마우스 버튼을 클릭한 상태에서 드래그하여 이동할 수 있다.

 

이제, 현재 이 위치에서 사용된 요소들을 살펴보자.

 

4. 배경에는 게임 세계의 컨셉 아트가 사용되었다.
특정 위치에 이미지 에셋을 추가하려면, 툴바에서 이미지 아이콘을 클릭하거나 단축키 "Shift + 9"를 사용하면 된다.

 

팁 – 배경 요소를 잠가두면 다른 요소를 작업할 때 실수로 이동하는 것을 방지할 수 있다.


현재 예제에서도 배경 요소는 잠겨 있다.

 

만약 직접 레벨을 그리거나 목업 맵을 제작하려면, 다양한 구역(zone) 및 경로(path) 옵션을 사용할 수 있다. 선택 가능한 옵션은 다음과 같다:

  • a) 사용자 지정 모양(Custom shaped zones)
  • b) 직사각형 구역(Rectangular zones)
  • c) 원형 구역(Circular zones)
  • d) 경로(Path)
  • e) 자유형 경로(Free-hand path)

이들은 툴바에서 선택할 수 있으며, 단축키 "Shift + 1~5"를 사용해 빠르게 전환할 수도 있다.

 

"Escape" 키를 누르면 다시 "선택 도구(Selection tool)"로 돌아간다.

 

우리 맵에서는 특정 지역을 강조하기 위해 구역(zone)이 사용되었다. 주황색 구역은 이 데모 프로젝트에서 씬이 포함된 영역을 나타낸다. 드라큘라의 저택에서는 "첫 만남" 대화가 진행되며, 항구는 "최종 대결"이 이루어지는 장소이다.

 

컷신은 미나의 집에서 진행되지만, 아직 강조되지 않았다. 이제 이를 추가해 보자.

 

5. 툴바에서 사용자 지정 구역(Custom Zone) 도구 아이콘을 클릭하거나 단축키 "Shift + 1"을 사용하여 선택한 뒤, 맵 중앙의 집을 대략적으로 둘러싸는 모양을 그린다.

 

경로를 닫으면 도구가 자동으로 선택 도구로 변경되며, 새로 그린 모양이 선택된다. 이제 구역 요소를 추가적으로 편집할 수 있는 두 번째 컨텍스트 기반 툴바가 나타난다.

 

"변형(Transform)" 기능을 사용하면 구역을 전체적으로 확대, 축소하거나 회전할 수 있다.

 

"모양 편집(Edit shape)" 기능을 사용하면 개별 점을 이동하여 전체 모양을 변경할 수 있다.

  • 구역의 테두리를 왼쪽 클릭하면 새로운 점을 추가할 수 있다.
  • "Control" 키를 누른 상태에서 삭제할 점을 왼쪽 클릭하면 해당 점이 제거된다.

 

다음으로 a) 색상b) 투명도를 선택할 수 있다. 색상 옵션은 채우기(Fill)윤곽선(Outline) 으로 나뉜다. 미나의 집은 프로젝트 씬 중 하나가 진행되는 장소이므로, 다른 씬 위치와 동일한 주황색으로 변경할 것이다. 또한 가시성을 높이기 위해 투명도를 조금 올릴 것이다.

 

오른쪽에 있는 컨트롤을 사용하면 다음을 설정할 수 있다.

a) 구역의 이름을 표시할지 여부 b) 이름의 색상 c) 이름의 크기

 

이제 이름을 제대로 읽을 수 있다. 물론, 현재는 "Untitled Zone"이라서 그렇지 ^^

 

6. 구역의 이름을 변경하려면, 콘텐츠 영역이나 네비게이터에서 해당 구역을 오른쪽 클릭한 후, 컨텍스트 메뉴에서 "Rename"을 선택한다.

 

흥미로운 지점을 표시하려면 "Spots"를 사용할 수 있다. 깃발 또는 십자 스타일 중 선택할 수 있으며, 세 가지 크기 옵션이 제공된다.

 

위치에 추가로 텍스트를 입력하려면 "Text" 도구를 사용할 수 있다.

 

위치에 참조 지점을 추가하는 좋은 방법은 "Link" 도구를 사용하는 것이다. 링크는 Flow Fragment, 대화(Dialogue), 엔터티(Entity) 같은 다른 articy 객체를 위치 안에 배치하는 데 사용된다. 또한, 서로 다른 위치를 연결하는 데도 활용할 수 있다.

링크를 더블 클릭하면 즉시 참조된 객체로 이동할 수 있다.

 

7. 툴바에서 "Link" 아이콘을 클릭하거나 단축키 "Shift + 8"을 사용한다.

 

튜토리얼 폴더에서 "First meeting" 객체를 참조 객체로 선택한 후, "Okay"를 눌러 확인한다.

 

그런 다음 링크를 원하는 위치로 이동시키고 왼쪽 클릭하여 배치한다. 또 다른 방법으로는 네비게이터에서 객체를 직접 드래그 앤 드롭하여 링크를 배치할 수도 있다.

 

8. 객체 선택 팝업에서 필터를 사용하면 특정 객체를 빠르게 찾을 수 있다.

 

대화뿐만 아니라 Stake 아이템의 위치도 표시하여, 레벨 디자이너가 이 아이템을 이야기 흐름에 맞게 배치해야 할 위치를 미리 파악할 수 있도록 한다. 물론, 링크나 다른 요소들은 나중에 이동하거나 재배치할 수 있다. 단, 요소가 잠겨 있지 않은지 확인해야 한다. 이동하려면 요소를 왼쪽 클릭한 상태에서 드래그하여 새로운 위치로 옮긴다.

 

이번 레슨의 끝에 도착했다.

 

정리:

오늘은 articy의 위치 편집기(Location Editor) 를 살펴보고, 이를 사용하여 팀을 위한 참조 지도를 만들었다. 구역(Zone)과 스팟(Spot) 요소를 활용하여 게임 씬과 주요 지점을 강조했다. 링크(Link)를 배치하여 누구나 쉽게 참조 객체를 확인할 수 있도록 했다.

 

다음 내용:

다음 레슨에서는 Conflict Search 기능을 사용하여 프로젝트에서 충돌과 오류를 점검할 예정이다.

함께해 주셔서 감사합니다. 다음 튜토리얼에서도 다시 만나길 바랍니다.

안녕하세요, articy:draft 첫 걸음 튜토리얼 시리즈의 15번째 강의에 오신 것을 환영합니다.

https://youtu.be/2fZj13nq4D0?si=bPxShdvDEaNqH4NU

 

 

복습:

이전 강의에서는 "최종 대결(Final confrontation)" 대화에 조건과 지시문을 노드 핀에 추가하여 인터랙티브 요소를 강화했다.

 

이번 강의:

오늘은 허브(Hub)와 점프(Jump) Flow 요소를 활용하여 Flow의 구조를 더욱 개선하는 방법을 살펴본다.

 

 

점프와 허브

현재 Flow에서 되돌아가는 연결이 많아져서 다소 복잡해 보인다. Flow가 점점 커지고 가지가 많아질수록 더 복잡해질 것이다. 이를 정리하기 위해 두 가지 새로운 노드 유형을 활용할 수 있다: 점프와 허브.

점프 요소

1. 도구 모음에서 점프 요소를 캔버스로 드래그한다.

 

2. Flow에서 되돌아가는 연결을 제거하고, 해당 노드들을 점프 노드에 연결한다.

 

 

3. 이제 점프의 대상을 지정해야 한다. 점프 노드의 대상 영역을 오른쪽 클릭하고 "Choose target"을 선택한다.

 

대상 목록이 열리며, 여기에는 모든 유효한 대상이 표시된다. 선택할 수 있는 위치는 현재 레이어에 국한되지 않는다.

 

👉 점프 노드를 사용하면 Flow 내의 어떤 지점으로든 이동할 수 있으며, 계층 구조에 관계없이 연결할 수 있다.

 

현재는 기존 Flow의 기능을 유지해야 하므로, 튜토리얼 폴더에서 "What do you want to know?" 대화 조각을 대상으로 선택한다.

 

Flow는 이전과 동일하게 작동하지만, 이제 훨씬 깔끔해 보이지 않는가?

 

허브 요소

오늘 사용할 두 번째 Flow 요소는 허브다.

 

1. 도구 모음에서 허브 요소를 캔버스로 드래그하여 선택 포인트 바로 앞에 배치한다.

 

2. 요소를 더블 클릭하여 이름을 변경한다.

 

허브는 대화의 고정점 역할을 한다. 대화 조각(Dialogue Fragment)도 점프 대상으로 사용할 수 있지만, 허브에는 몇 가지 장점이 있다. 허브는 별도의 요소이므로 맞춤 색상을 지정할 수 있고 템플릿을 적용할 수도 있다. 또한 Flow를 한눈에 보기 쉽게 정리하는 데 도움이 되며, 기능적인 차이도 있다. 현재 Flow에서는 선택 포인트로 점프할 때마다 해당 노드가 실행되므로, 드라큘라의 질문이 반복된다. 하지만 허브를 점프 대상으로 설정하면, 바로 선택지 화면이 나타나게 된다.

 

이제 드라큘라 노드를 허브에 연결하고, 허브에서 미나의 모든 응답으로 연결되도록 업데이트하자.

 

3. 연결의 시작점이나 끝점을 변경하려면, 연결을 왼쪽 클릭하여 선택한 후 마우스 커서를 시작점이나 끝점으로 이동시킨다. 커서가 화살표로 바뀌면 클릭한 상태로 드래그하여 다른 핀으로 연결하면 된다.

 

연결을 완료한 후 점프 대상도 업데이트할 수 있다.

 

4. 점프 노드의 대상 영역을 다시 오른쪽 클릭한다.

 

이번에는 튜토리얼 폴더에서 허브를 선택한다.

 

이제 두 번째 대화의 구조를 정리하는 작업이 완료되었다.

 

주석(Annotations)

마지막으로, Flow에서 특정 영역을 강조하는 방법으로 주석을 활용하는 방법을 소개한다. 이전에 첫 번째 대화의 선택 포인트에 주석을 추가한 적이 있다.

 

👉 주석은 Flow에 임시 정보를 추가하거나, 가독성을 높이기 위한 메모를 남기거나, 장면의 배경 정보를 제공하는 데 사용할 수 있다.


👉 주석은 프로젝트 내보내기에는 포함되지 않는다.

 

1. 주석 노드를 캔버스로 드래그한다.

 

Flow에서 미나가 Stake를 가지고 있을 경우 마지막 대화 루프를 건너뛰는 영역을 강조하고 싶다. 따라서 주석을 확장하여 대화 조각과 "Fight" 노드 모두를 포함하도록 한다.

 

2.도구 모음에서 버킷 아이콘을 클릭하여 색상을 변경한다.

 

 

영역이 잘 강조되었지만, 이제 주석이 덮인 노드를 읽기가 어렵다.

 

3. 노드를 선택하면 도구 모음에서 정렬 옵션을 찾을 수 있다. **"Send to back"**을 클릭하면 색상이 다른 노드들 뒤로 배치된다.

 

이번 강의는 여기까지다.

 

복습

점프와 허브 요소를 사용하는 방법을 배웠으며, 주석 노드를 활용해 Flow에서 특정 영역을 강조하는 방법도 익혔다.

 

다음 강의

다음 강의에서는 위치 편집기(Location Editor)를 살펴보고, 이를 활용하여 팀을 위한 참고용 지도를 만들어볼 것이다.

함께해 주셔서 감사하며, 다음 튜토리얼에서 다시 만나자.

안녕하세요, articy:draft 첫 걸음 튜토리얼 시리즈의 14번째 강의에 오신 것을 환영합니다.

https://youtu.be/D9ZhTb0RZbw?si=MKS3JKsbeloOwA3K

 

 

복습:

지난 강의에서는 문서 보기를 살펴보았다. articy에서 문서가 어떻게 구성되는지 확인하고, 프로젝트의 선형 컷신을 작성한 후 이를 Flow에서 연결된 노드로 변환하는 과정을 배웠다.

 

이번 강의:

이번 강의에서는 다시 Flow 보기로 돌아가 "최종 대결(Final confrontation)" 대사를 단계별로 살펴본다. 스크립트 로직을 추가하여 반응 포인트와 선택 포인트를 생성하고, 조건과 지시문을 활용하는 또 다른 방법을 배운다.

 

 

반응 포인트와 선택 포인트:

1. Flow에서 튜토리얼 폴더에 있는 "최종 대결(Final confrontation)" 대화 노드로 들어간다.

 

첫 번째로 눈에 띄는 것은 이름에 "_f"가 추가된 것으로, 이는 미나 엔티티가 최종 버전에서 온 것임을 나타낸다.

 

이것은 우리가 튜토리얼 폴더에서 미나 엔티티를 만들기 이전부터 이 대사가 존재했기 때문이다.

 

2. 프로젝트의 연속성을 유지하기 위해 동일한 엔티티를 사용하도록 업데이트해야 한다. 이를 위해 화자 이름을 더블 클릭하여 강조 표시한 후 이름을 입력하면 선택 드롭다운이 열리고 올바른 엔티티를 선택할 수 있다.

 

이제 대사를 자세히 살펴보자.

 

대화의 시작 부분에서 반응 포인트를 추가해야 한다. 조건 노드를 확대해 보면 "드라큘라가 미나의 이름을 알고 있는지 여부를 다시 확인한다"는 내용의 텍스트가 들어 있다. 조건이나 지시문 안에서 텍스트를 사용하려면, 예를 들어 스크립팅 표현식의 자리 표시자로 활용하려면, 반드시 주석(Comment) 형태로 입력해야 한다.

 

3. 단일 줄 주석을 만들려면 문장의 앞에 **//**를 붙이면 된다. 그렇지 않으면 articy가 이를 표현식으로 해석하려고 시도하여 오류가 발생할 수 있다.

 

이 조건에서는 "nameRevealed" 변수의 상태를 확인해야 한다. 이 변수의 값은 플레이어가 첫 번째 대화에서 어떤 선택을 했느냐에 따라 변경되었을 수도 있다.

 

👉 글로벌 변수는 Flow의 한 레이어에서만 사용할 수 있는 것이 아니라, 프로젝트 전체에서 활용할 수 있다.

 

조건문의 구조가 어떻게 되어 있는지 기억하는가? 직접 작성해 본 후 아래 정답 이미지를 확인해 보자.

 

4. 변수 이름이 확실하지 않거나 특정 변수가 어떤 세트에 속해 있는지 확인하려면 Navigator에서 "Global variables" 시스템 폴더를 클릭하면 된다.

 

여기에서 모든 정보를 확인할 수 있으며, 우리는 "DialogueChapter1" 변수 세트에 있는 "nameRevealed" 변수를 사용해야 한다.

 

5. 조건 노드 안에서 변수 세트 이름을 입력하기 시작하면 자동 완성이 활성화되며, Enter 또는 TAB 키를 눌러 입력을 완료할 수 있다.

 

다음으로, 변수 이름을 입력해야 하며, 세트 이름 뒤에 "."(점)을 붙여 입력하면 자동 완성 드롭다운에 변수가 표시된다. 우리가 현재까지 이 세트에서 생성한 변수는 하나뿐이므로, 점을 입력하자마자 "nameRevealed" 변수가 나타난다. 다시 Enter 또는 TAB을 눌러 입력을 완료한다.

 

이제 연산자를 입력해야 한다. 특정 값을 확인하려면 관계 연산자 "=="를 사용한다. 이 변수는 기본값이 false로 설정되어 있으며, 드라큘라가 미나의 이름을 알게 되면 첫 번째 대화에서 true로 변경된다. 우리는 이 변수가 true인지 확인할 것이므로 최종 표현식은 다음과 같다.

DialogueChapter1.nameRevealed == true

 

조건식이 참이면, 즉 변수 값이 true이면 대화는 a) 녹색 출력 핀을 통해 계속 진행된다. 드라큘라가 첫 번째 대화에서 미나의 이름을 알아내지 못했다면 b) 빨간색 핀을 통해 흐름이 진행된다.

 

반응 포인트 이후에는 대화가 하나의 가지로 다시 합쳐진다. 이후 조금 더 복잡한 지점에 도달하게 되는데, 이 노드에는 네 개의 출력 연결이 있으며, 아래쪽에 있는 다른 위치에서 입력 핀으로 연결되는 두 개의 추가 연결이 있다.

 

출력 연결들은 플레이어가 선택할 수 있는 또 다른 선택 포인트를 의미한다. 하지만 첫 번째 대화에서의 선택 포인트와는 차이가 있다. 모든 선택지가 항상 활성화되는 것은 아니다.

 

선택지의 입력 핀을 자세히 보면 첫 번째 두 개가 주황색으로 강조되어 있다. 이것은 해당 핀이 추가 정보를 포함하고 있음을 의미하며, 이 경우에는 조건(Conditions)이 설정되어 있다.

 

어떤 경우에는 조건 노드를 사용할 수 없는 상황이 발생할 수 있다. 예를 들어 이처럼 두 개 이상의 선택지가 있을 때는 조건 노드를 사용하기 어렵다. 특정 상황에서만 선택지가 활성화되도록 하려면 입력 핀에 조건을 설정할 수 있다. 핀 위에 마우스를 올리면 조건 내용이 작은 팝업으로 표시된다.

 

6. 입력 핀을 더블 클릭하여 편집 창을 연다. 여기에 추가된 주석을 보면, 이 대화 옵션은 미나의 인벤토리에 Stake 아이템이 있을 때만 플레이어에게 표시되어야 한다.

 

Lesson 11에서 Stake 아이템을 만들었고, 미나의 인벤토리를 나타내는 새로운 변수 세트도 생성했다. 조건이 어떻게 구성되어야 할지 예상할 수 있는가? 이전과 매우 유사하게 변수 값을 확인해야 한다. 이번에는 다른 변수 세트를 사용해야 하며, 조건식은 다음과 같다. Inventory.Stake == true

 

스토리 진행 중 미나가 Stake를 습득했다면 변수 값이 true가 되고, 조건식 전체도 true가 되어 플레이어가 해당 대화 옵션을 선택할 수 있다. 반면, 미나가 아직 아이템을 얻지 못했다면 조건식은 false가 되고 이 대화 옵션은 플레이어에게 보이지 않는다.

 

플레이어가 이 선택지를 사용할 수 있고 이를 선택하면 대화는 즉시 종료되며, 미나와 드라큘라의 전투가 시작된다. 이는 articy 내에서 자리 표시자 노드(Placeholder Node)로 표현되며, 실제 전투 시스템은 게임 엔진에서 구현될 것이다.

 

이제 두 번째 선택지의 입력 핀을 열어 주석을 확인한다. 여기에 또 다른 조건을 추가해야 하며, 이 대화 옵션은 특정 조건을 충족할 때만 표시되어야 한다. 이 선택지는 플레이어가 최소한 한 가지 질문을 한 후에만 나타나야 한다.

 

어떻게 구현할 수 있을까? 새로운 기능이 필요한 것은 아니며, 지금까지 사용한 도구만으로 해결할 수 있다.

 

단계별로 살펴보자. 오늘 다뤘던 조건에서 배운 점은 입력 핀 안의 조건이 false를 반환하면 흐름이 해당 노드를 통과하지 않는다는 것이다. 선택 포인트에서는 특정 선택지가 플레이어에게 표시되지 않는다는 의미다. 따라서 첫 번째로 플레이어가 이 선택 포인트에 도달했을 때, 해당 선택지가 false를 반환하도록 조건을 설정해야 한다.

 

그러나 조건을 확인하기 전에, 이를 위한 변수를 먼저 생성해야 한다.

 

7. Navigator에서 "Global Variables" 아래에 있는 "DialogueChapter1"을 클릭하여 해당 변수 세트로 바로 이동한다.

 

8. 도구 모음에서 "Create variable" 버튼을 클릭하여 새 변수를 생성한다.

 

변수 이름은 "firstQuestion"으로 설정하고 간단한 설명을 입력한다. 기본 타입이 Boolean이므로 그대로 유지하되, 기본값을 True로 변경한다.

 

나는 보통 스크립트 표현식을 작성할 때 논리적으로 가장 이해하기 쉬운 초기값을 선택하는 편이다. 이후 스크립트 표현식을 작성할 때 내 의도를 쉽게 이해할 수 있을 것이다.

 

9. 이제 필요한 변수는 준비되었으므로 다시 대화로 돌아간다. 노드의 입력 핀을 더블 클릭하여 Edit 창을 연다.

 

첫 번째 부분은 간단하다 : 변수 세트 이름, 변수 이름, 관계 연산자로 구성된 표현식을 작성하면 된다. DialogueChapter1.firstQuestion ==

 

이제 무엇을 확인해야 할까? 변수의 초기값은 true다. 현재가 첫 번째 질문인가? 그렇다. 하지만 이 선택지는 플레이어가 다른 질문을 먼저 했을 때만 나타나야 하므로, 여기서는 false 값을 확인해야 한다.

 

이제 첫 번째 단계를 완료했다. 이제 변수 값을 변경하는 방법만 추가하면 된다. 마지막 두 개의 선택지에서 출력 핀이 주황색으로 강조되어 있는데, 이는 지시문(Instructions)이 포함되어 있다는 의미다.

 

👉 조건은 항상 입력 핀에 추가되며, 노드에 접근할 수 있는지를 확인하는 역할을 한다. 지시문은 출력 핀에 배치되며, 노드를 통과한 후 값이나 상태를 변경하는 역할을 한다. 입력 핀의 편집 창을 열면 어떤 내용이 필요한지 확인할 수 있다.

 

마지막 두 개의 대화 선택지는 항상 플레이어에게 표시되므로, 여기에서 변수를 변경하는 지시문을 추가한다. 첫 번째 선택지는 미나가 Stake를 가지고 있는 경우에만 보일 수 있지만, 이 선택지는 대화를 즉시 종료시키므로 별도의 지시문을 추가할 필요가 없다.

 

10. 출력 핀을 더블 클릭하여 편집 창을 연다. 이제 변수 값을 변경해야 한다. 이 노드를 통과한 후에는 첫 번째 질문 단계가 아니므로, 변수 값을 false로 변경해야 한다.

 

"DialogueChapter1.firstQuestion = false"

 

이제 이 표현식을 남은 노드에도 복사하면 된다.

 

플레이어가 마지막 두 가지 선택지 중 하나를 선택하면 드라큘라가 응답한 후 대화 흐름이 다시 드라큘라가 "무엇을 알고 싶은가?"라고 묻는 지점으로 돌아간다.

 

이제 이 흐름이 실제로 어떻게 진행되는지 빠르게 확인해 보자.

 

 

프레젠테이션 모드에서 스크립트를 다시 확인

1. 선택 포인트 앞에 있는 드라큘라 노드를 선택한 후 프레젠테이션 모드를 시작한다.

 

2. 분석 모드가 활성화되어 있는지 확인한다.

 

여기에서 두 개의 선택지만 유효한 응답이며, 나머지 두 개는 조건을 충족하지 않아 빨간색으로 강조된 것을 볼 수 있다. 이 선택지는 플레이어에게 표시되지 않는다.

 

대화를 계속 진행하면 "firstQuestion" 변수의 값이 변경되며, 다시 선택 포인트에 도달했을 때 새로운 선택지가 활성화된다.

 

이제 질문 루프에서 벗어나 최종 전투로 이어지는 응답을 선택할 수 있다.

 

아주 잘되었다.

 

 

복습:

오늘은 지시문과 조건을 노드 핀에 추가할 수 있다는 것을 배웠으며, 스크립트를 활용하여 대화에 인터랙티브 요소를 추가하고 개선했다.

 

다음 강의:

다음 강의에서는 이 대화를 계속 다루면서 허브(Hub)와 점프(Jump) Flow 요소를 활용해 구조를 업데이트할 예정이다.

함께해 주어 감사하며, 다음 튜토리얼에서 다시 만나자.

안녕하세요, articy:draft 첫 걸음 튜토리얼 시리즈의 13번째 강의에 오신 것을 환영합니다.

https://youtu.be/QKRqny6vAEE?si=7P6ou8Y9jqevLxnP

 

 

복습:

지난 강의에서는 articy의 내보내기 옵션을 살펴보았습니다. 사용할 수 있는 내보내기 목록을 확인한 후, "Flow to Word" 옵션을 사용하여 미나와 드라큘라의 대화를 Word 문서로 내보냈습니다.

 

이번 강의:

이번 강의에서는 문서 보기(Document View)를 살펴보고, 이를 활용하여 프로젝트의 선형 컷신(linear cutscene)을 작성해보겠습니다.

 

 

문서 보기(Document View)

문서 보기는 일반적인 워드 프로세서의 편리함을 유지하면서 선형적인 방식으로 작성할 때 이상적인 도구입니다. 이를 활용하면 게임의 메커니즘을 설명하는 디자인 문서를 만들거나, 프로젝트의 용어를 정의하는 용어집을 작성할 수 있습니다.

 

또한 문서 보기를 사용하면 시나리오 형식의 선형 대사를 작성할 수도 있습니다. 오늘은 바로 이 기능을 활용하여 미나 하커와 반 헬싱 교수가 등장하는 선형 컷신을 작성해보겠습니다.

 

1. 점프스타트 페이지에서 "Documents" 아이콘을 더블 클릭합니다.

 

2. 그런 다음 Tutorial 폴더를 선택합니다.

 

3. 이제 도구 모음의 아이콘을 사용하거나 마우스 오른쪽 버튼을 클릭하여 새 문서를 생성합니다.

 

4. 문서를 "Cutscene Tutorial"이라고 이름 짓고, 타일을 더블 클릭하여 연다.

 

articy 문서는 챕터로 구성된다.

 

챕터는 단순한 텍스트일 수도 있고, 대화나 이미지와 같은 특정한 것일 수도 있다. 이 접근 방식의 아이디어는 문서를 모듈화하여 나중에 쉽게 재배열하고 변경할 수 있도록 하는 것이다. 현재 문서에는 아직 챕터가 없으며, 보이는 것은 문서 제목과 생성 도구 모음뿐이다.

 

생성 도구 모음은 두 부분으로 나뉜다. 왼쪽에는 문서를 구조화하는 계층 선택기가 있으며, 나머지 도구 모음에는 현재 위치에서 만들 수 있는 챕터 유형이 표시된다.

 

우리 컷신에서는 미나와 반 헬싱의 대화가 진행될 것이므로, 챕터에 대화를 사용할 것이다.

 

5. 생성 도구 모음에서 Dialogue를 클릭하여 문서에 대화 챕터를 추가한다.

 

제목 텍스트는 직접 입력할 수 있으며, Enter 키를 누르면 장면을 설명하는 시놉시스 텍스트를 추가할 수 있다.

 

이제 미나와 반 헬싱의 대화가 시작될 차례이다.

 

6. 이 챕터 내에서 첫 번째 대사 줄을 삽입하려면, 생성 도구 모음에서 "Indents the new chapter by one level" 버튼을 클릭한 후 "dialogue fragment" 버튼을 클릭한다.

 

커서는 자동으로 화자(Speaker) 위치에 배치되며, 입력을 시작한 후 Enter 키를 누르면 이름이 자동 완성된다. 그러면 커서가 대사 줄로 이동하여 바로 작성할 수 있다.

 

7. 새로운 대사 줄을 추가할 때 생성 도구 모음을 사용할 수도 있지만, "Ctrl + Enter" 단축키를 사용하면 더 빠르게 추가할 수 있다. 이렇게 하면 작성 흐름을 유지하면서 키보드에서 손을 떼지 않고 전체 대화를 작성할 수 있다.

 

8. 화자가 설정된 후 "TAB" 키를 누르면 지문이나 메뉴 텍스트를 추가할 수도 있다.

 

👉 "TAB" 키를 여러 번 누르면 사용 가능한 옵션을 순환할 수 있다.

 

이제 컷신이 완성되었다.

 

articy의 다른 데이터와 마찬가지로 문서는 여러 가지 방법으로 활용할 수 있다: a) 메인 메뉴에서 제공되는 다양한 옵션을 사용하여 프로젝트 내보내기의 일부로 내보낼 수 있다. b) 이전 강의에서 살펴본 "Flow to Word" 내보내기와 유사한 Word 내보내기를 사용할 수도 있다. 이는 문서 보기의 콘텐츠 영역에 있는 도구 모음에서 사용할 수 있다.

 

 

이 컷신은 선형적인 대화이지만 Flow의 일부로 포함하고 싶다. 이미 스토리 구조가 있으며 컷신이 해당 구조 내에 있어야 하고, Flow에 포함하면 대화 조각에 템플릿을 할당할 수 있어 특정 대사에 사운드 파일을 추가하거나 다양한 카메라 앵글을 적용하는 등의 작업이 가능하기 때문이다.

 

대사 줄을 복사하여 붙여넣을 필요 없이 문서 전체 또는 일부를 Flow 요소로 변환하는 빠르고 쉬운 방법이 있다.

 

9. Flow 보기에서 스토리 구조가 보이도록 두 번째 보기 창을 연다.

 

10. 문서 창에서 챕터를 선택한 후 마우스 커서를 강조 표시된 영역의 왼쪽으로 이동시킨다. 커서가 손 모양으로 바뀌면 마우스 왼쪽 버튼을 클릭한 상태로 Flow로 드래그한 후 놓는다.

 

챕터가 대화 노드로 변환되며 개별 대사 줄이 해당 노드의 대화 조각으로 추가된다.

 

👉 문서와 Flow는 이제 별도의 복사본이며 문서에서 변경을 해도 Flow에 반영되지 않으며, 반대로 Flow에서 변경을 해도 문서에는 적용되지 않는다.

 

⭐ 시나리오 작성 소프트웨어를 사용하는 경우 "Final Draft" 스크립트를 articy로 가져올 수 있다. 스크립트를 문서로 가져오거나 Flow 요소로 직접 변환할 수 있으며, 가져오려는 위치에 따라 문서 보기 또는 Flow의 도구 모음에서 "Import Final Draft file" 아이콘을 클릭하면 된다.

 

11. 전체 구조를 설정할 때 생성했던 빈 자리 표시자 노드를 삭제한다.

 

12. 새로운 컷신 노드를 연결하여 모든 요소를 다시 정리한다.

 

이번 강의는 여기까지다.

 

복습:

articy:draft의 또 다른 기능인 문서 보기를 살펴보고, 문서가 어떻게 구성되는지 확인한 후 선형 컷신 대사를 작성하여 Flow에서 연결된 노드로 변환하는 과정을 배웠다.

 

다음 강의:

다음 강의에서는 "최종 대결" 대사에 스크립트 로직을 추가하고, 조건과 지시문을 활용하는 또 다른 방법을 배운다.

함께해 주셔서 감사하며, 다음 튜토리얼에서 다시 만나자.

Hello and welcome to Lesson 12 of the articy:draft First Steps tutorial series.

https://youtu.be/FENT7h5qbEM?si=ZRHudz6JKI1tAwjD

 

 

복습:

이전 강의에서는 엔터티 템플릿을 처음부터 만들고, 미나의 인벤토리를 모니터링할 새로운 변수 세트를 설정한 후, 이를 "Stake" 엔터티 형태로 결합하여 첫 번째 아이템을 만들었습니다.

 

이번 강의:

이번 강의에서는 articy의 내보내기(export) 옵션을 살펴볼 것이다. 사용 가능한 내보내기 목록을 확인하고, 흐름을 Word로 직접 내보내는 방법을 배울 것이다.

 

 

articy의 강점 중 하나는 데이터에 대한 절대적인 제어를 할 수 있다는 점이다. 콘텐츠에 항상 접근할 수 있으며, 유연한 내보내기 옵션 덕분에 이를 파이프라인에서 계속 사용할 수 있다.

 

 

내보내기 작업하기

대부분의 내보내기 옵션은 메인 메뉴 또는 단축키 **"Control + Shift + E"**를 통해 접근할 수 있다. 이를 통해 내보내기 창을 열 수 있다.

 

왼쪽에는 Microsoft Office 내보내기기술적 내보내기로 나누어진 옵션 목록이 있다.

 

오른쪽에는 각 옵션에 따라 달라질 수 있는 내보내기 매개변수가 표시된다.

 

 

Word로 내보내기

첫 번째 옵션은 Word로 내보내기이다. 전체 프로젝트를 내보낼지, 아니면 선택된 객체만 내보낼지 선택할 수 있다. 이를 위해서는 각 영역의 체크박스를 선택하거나 선택 해제하면 된다.

 

오른쪽에는 하나의 파일로 내보내기, 객체별로 하나의 파일 만들기, 또는 목록 생성을 선택할 수 있는 옵션이 있다. 그 아래에는 내보내기를 정렬하고 순서를 지정할 수 있는 다양한 방법들이 제공된다. 하단에서는 내보낸 문서나 문서들의 저장 위치를 지정할 수 있다.

 

팁: 프로젝트의 일부, 예를 들어 캐릭터 시트와 같은 부분을 내보낼 때는 Word 내보내기가 잘 맞는다. 반면, 이야기 흐름과 같은 경우에는 다른 내보내기 옵션이 더 적합하다.

캐릭터 시트 내보내기 샘플

 

엑셀로 내보내기

다음은 엑셀로 내보내기입니다. 매개변수는 Word 내보내기와 매우 유사합니다. 내보낼 객체를 선택하고, 내보내기를 정렬, 그룹화, 순서 지정할 수 있는 여러 가지 방법을 제공합니다.

 

프로젝트의 단어 수를 확인하고 싶다면, 엑셀 내보내기는 이 정보를 쉽게 얻을 수 있는 방법입니다.

엑셀 내보내기 샘플

 

Re-import를 위한 엑셀 내보내기

다음 옵션은 " re-import 를 위한 엑셀 내보내기"입니다.

 

이는 데이터를 articy로 재수입할 수 있는 엑셀 내보내기 특별 형식이다. 이 내보내기는 주로 교정 및 현지화에 사용된다.

엑셀로 re-import하기 샘플

 

a) Objects 탭에서는 프로젝트에서 내보낼 부분을 선택할 수 있다.
b) Properties 탭에서는 엑셀 시트에서 열로 표시될 속성을 선택할 수 있다. 예를 들어, 내보낸 파일을 교정용으로 전달하고 싶다면, 이 작업에 필수적이지 않은 속성들은 제거하여 더 깔끔한 파일을 만들 수 있다.

 

정기적으로 수행하는 내보내기에 대해 프리셋을 저장할 수도 있다. 이 내보내기 방법의 프리셋은 속성 선택과 오른쪽 옵션에 대한 모든 설정을 저장한다.

 

객체 선택은 프리셋에 저장되지 않는다.

 

이런 엑셀 파일을 리임포트 하려면:

 

1. 메인 메뉴에서 Import를 선택하거나 단축키 "Control + Shift + I"를 사용하라.

 

2. 가져오려는 파일을 선택하라.

 

3. 다음으로 어떤 워크시트를 가져올지 정의할 수 있다.

 

4. 그런 다음 가져오기 및 업데이트된 항목의 개요가 표시된다. 이제 다음을 클릭하면 가져오기가 완료되고, 취소를 클릭하면 프로젝트에 아무 변화도 없을 것이다.

 

기술적 내보내기

다음은 기술적 내보내기이다. 이 옵션은 주로 articy 데이터를 게임 엔진으로 직접 가져오고 싶을 때 사용된다.

 

Articy는 Unity와 Unreal로 완전한 내보내기 기능을 제공하며, 또는 XML이나 JSON을 사용하여 도구 체인과 워크플로우에 맞게 유연한 내보내기를 할 수 있다.

 

내보내기에 대한 일반적인 정보와 articy 3 Unity, articy X Unity, articy 3 Unreal, articy X Unreal 내보내기에 대한 문서는 웹사이트에서 확인할 수 있다.

 

하지만 그게 다가 아니다! 두 가지 추가 내보내기가 숨겨져 있는 다른 곳이 있다 – 바로 Flow이다.

 

Flow 내보내기

툴바에서 우리는 다음을 찾을 수 있다: a) Flow to Word와 b) XPS export.

 

이 내보내기 옵션들이 여기 있는 이유는, 전체 프로젝트에 영향을 미치지 않고 현재 활성화된 부분에만 집중되기 때문이다.

 

XPS 내보내기

XPS 형식은 벡터 그래픽 형식으로, 이미지를 확대하거나 축소해도 품질을 잃지 않는다. XPS 내보내기는 Flow 뷰와 Location Editor에서 사용할 수 있다.

 

내보내기 시, 현재 배경을 포함한 이미지를 만들거나, 더 프린터 친화적인 흰색 배경을 선택할 수 있는 옵션이 있다.

 

👉 내보내기에는 현재 화면에 표시된 섹션뿐만 아니라, 당신이 있는 전체 흐름 레이어가 포함된다.

XPS Export Sample

 

Flow to Word

"Flow to Word" 내보내기는 Word 문서를 생성하지만, 이 내보내기는 앞서 본 Word 내보내기와는 그 성격이 다르다. 앞서 언급했듯이, Word 내보내기는 프로젝트 전체 또는 선택된 프로젝트 부분을 문서 형식으로 구조화된 형태로 생성하는 데 사용된다. 반면 "Flow to Word" 내보내기는 내보낸 흐름을 시나리오처럼 보여주며, 텍스트 자체에 초점을 맞춘다.

자세히 살펴보자.

 

먼저 Flow에서 대화 레벨에 있어야 하며, 그런 다음 툴바에서 "Flow to Word export" 버튼을 클릭하라. 이제 많은 사용자 정의 옵션이 제공되는 내보내기 창을 볼 수 있다.

 

먼저 기본 옵션들이 있다. 예를 들어, 형식, 커버 페이지, 미리 보기 이미지 등이 있다. 작은 대화에는 목차가 필요하지 않으므로, 이를 체크 해제할 것이다. 나머지 기본 옵션은 그대로 두겠다.

 

다음은 정렬 옵션이다. 이 옵션은 흐름의 가지들이 문서에 추가되는 순서를 정의한다. 어떤 옵션이 가장 적합한지는 사용 사례에 따라 다르며, 개인적인 선호에 관한 문제이기도 하다.

 

"Depth first"에서는 알고리즘이 연결된 노드의 가장 긴 가지를 생성한 후, 다음 가지로 넘어간다.

 

"Breadth first" 옵션은 항상 분기 지점에서 모든 옵션을 나열한 후, 가지를 더 진행한다.

 

"Shortest"는 breadth와 depth의 혼합으로, 더 긴 가지보다 짧은 가지를 먼저 정렬한다.

 

나는 이번 내보내기에서는 "Depth first"를 선택할 것이다.

 

"Create index for unconnected objects" 옵션을 사용하면 내보낸 문서에서 연결되지 않은 흐름 노드를 나열할지 여부를 결정할 수 있다. 이들은 한 줄에 하나씩 또는 공백으로 구분된 형태로 나열하여 공간을 절약할 수 있다.

 

"Export references"는 Flow Fragments와 Dialogue 노드의 참조가 어떻게 내보내질지 정의할 수 있는 옵션이다.

 

"Only with property"가 활성화되면, 선택된 속성을 가진 참조만 내보내진다.

 

"Template" 옵션은 내보낸 문서에서 템플릿이 어떻게 시각화될지를 정의한다.

 

"Hierarchical depth"는 내보내기가 얼마나 깊게 진행될지를 정의한다. 예를 들어, 이야기 구조 레벨에 있을 때 깊이 1은 이 레이어와 그 안의 세 가지 요소만 내보낸다. 더 높은 숫자를 입력하면 하위 레이어도 함께 내보내진다.

 

따라서 내보내기의 범위를 제대로 제어하려면 hierarchical depth 옵션과 내보내기를 시작하는 흐름 레이어를 주의 깊게 살펴봐야 한다. 우리가 첫 번째 대화만 내보내고 싶으므로, 내보내기는 흐름의 대화 레이어에서 시작해야 한다.

 

선택한 옵션으로 내보내기를 실행하려면 Okay를 클릭하라.

 

이것이 결과이다. "Depth first"를 선택했기 때문에, 대화가 하나의 가지를 끝까지 따라가고 나서 나머지 가지들로 넘어가는 방식으로 내보내기가 진행된 것을 볼 수 있다.

Flow to Word Export Sample

 

링크를 사용하면 문서 내에서 다른 가지로 이동할 수 있어, 특히 텍스트가 길어지거나 가지가 많을 때 특정 가지를 따라가기 유용하다.

이로써 이번 강의가 끝났다.

복습:

우리는 articy에서 가능한 내보내기 옵션들과 이를 접근하는 방법을 살펴보았다. 그런 다음 "Flow to Word" 옵션을 사용하여 미나와 드라큘라의 대화를 문서로 내보냈다.

 

다음 강의:

다음 강의에서는 문서 보기를 살펴보고, 이를 사용하여 프로젝트를 위한 선형 컷씬을 작성할 것이다.

참여해 주셔서 감사합니다. 다음 튜토리얼에서 다시 만나요.

안녕하세요, articy:draft 첫 걸음 튜토리얼 시리즈의 11번째 강좌에 오신 것을 환영합니다.

https://youtu.be/JlHmLrU9PTM?si=O7_eEqy5S0zh4wfx

 

 

복습:

이전 강의에서는 쿼리 검색을 사용하여 템플릿이 없는 대화 조각을 찾고, 해당 요소들에 한 번에 템플릿을 할당하는 방법을 배웠습니다. 그런 다음 속성 검사기를 활용하여 두 번째 보기 창에서 대화 조각의 속성을 확인하며 더욱 빠르게 편집하는 과정을 진행했습니다.

 

이번 강의:

오늘은 엔터티를 다시 살펴보되, 이번에는 아이템 형태로 다뤄보겠습니다. articy에서 아이템을 어떻게 표현할 수 있는지 예제를 통해 알아볼 것입니다. 또한, 아이템 템플릿을 처음부터 생성하고, 미나(Mina)의 인벤토리를 모니터링할 수 있도록 새로운 변수 세트를 추가할 것입니다.

 

 

아이템 작업하기

 

게임에서 아이템을 구현하는 방법은 무수히 많다. 따라서 articy에서 아이템을 표현하는 단 하나의 정답은 없으며, 프로젝트에 따라 달라진다.

 

우리의 작은 데모 프로젝트에서는 아이템이 캐릭터의 특정 값에 영향을 주거나 특정 행동이 가능한지를 결정하는 역할을 한다. 이를 위해 아이템 엔터티와 변수를 함께 사용할 것이다.

  • 엔터티(Entity)로 아이템의 이름, 이미지, 설명 텍스트, 전투 보정치 등 게임에서 필요한 모든 정보를 저장한다.
  • 변수(Variable)로 간단한 인벤토리 시스템을 설정하고, 대화 흐름에서 선택지에 영향을 줄 수 있도록 한다.

이미 배운 것처럼, 엔터티에 할당된 템플릿이 해당 객체의 성격을 결정한다. 먼저 아이템 템플릿을 생성하는 것부터 시작하겠다.

아이템 템플릿 생성 방법

Jumpstart 페이지에서 "Template Design"을 선택하라.

 

원하는 속성을 가진 기능을 구성해야 한다.

아이템 속성을 위한 첫 번째 기능 생성하기

1. Features로 이동하라.

 

2. Tutorial로 이동하라.

 

3. 툴바에서 "Create new feature"를 선택하라.

 

4. 이 기능을 "Item Basics"라고 이름 짓겠다. 타일을 더블 클릭하여 열어라.

 

5. 기능 편집기로 이동하라.

 

⭐ 기능의 "기술 이름"을 이전에 만든 것들과 일관되게 조정하는 것이 좋다. 모든 이름을 유사한 스타일로 유지하면 이후 엔진에서 작업할 때 더 편리하다

 

이제 기능 자체를 설정하겠다. 여기에는 특정 아이템 유형과 관계없이 모든 아이템에 사용될 속성을 포함할 것이다.

 

6. 간단한 불리언(boolean) 속성을 추가하는 것부터 시작하겠다.

 

이를 통해 아이템이 퀘스트와 관련된 것인지 표시할 수 있다.

 

7. 다음으로, 아이템의 판매 가치를 정의할 숫자 속성을 추가하겠다.

 

최소값과 최대값을 입력하여 일부 제한을 설정하고, 소수 자릿수를 0으로 설정했다. 여기서는 정수만 사용하는 것이 더 깔끔하다고 생각한다.

 

8. 마지막으로, 아이템의 설명 텍스트를 위한 문자열 속성을 레이아웃 영역으로 끌어오겠다.

 

엔터티의 일반 설명 필드를 사용하지 않는 이유는, 여기에서 설정하는 속성이 더 많은 제한 옵션을 제공하기 때문이다. 설명 텍스트는 인벤토리 UI에 표시될 예정이므로, 나중에 오버플로우를 방지하기 위해 최대 문자 길이를 미리 설정할 수 있다.

 

기본 기능 설정은 여기까지다.

 

9. "Apply"를 클릭하고 변경 사항을 저장하라.

 

이제 특정 아이템 유형을 위한 두 번째 기능을 생성하겠다. 이번 예제에서는 무기(Weapon)를 다룰 것이다.

 

특정 아이템 유형을 위한 두 번째 기능 생성하기

 

1. "Create new feature"를 클릭하라.

 

2. 선택한 후 기능 편집기를 열어라.

 

3. 목록에서 숫자 속성을 레이아웃 영역으로 끌어오라.

 

이 속성은 "전투 보정치"로, 이 무기가 전투에서 얼마나 도움이 될지를 정의한다. 마찬가지로 최소값과 최대값을 설정하여 제한을 두고, 소수 자릿수를 0으로 설정했다.

 

아이템의 사용 가능 횟수를 조정하는 두 번째 숫자 속성을 추가하고 싶다. 이 속성은 전투 보정치 속성과 매우 유사하므로 복사하여 붙여넣기로 추가하겠다.

 

4. 마우스 오른쪽 클릭 메뉴를 사용하거나 Control + C를 눌러 복사한 뒤, Control + V를 눌러 붙여넣어라.

 

이제 해야 할 일은 표시 이름과 기술 이름을 변경하고, 필요한 경우 매개변수를 조정하는 것이다.

 

5. "Apply"를 클릭하고 변경 사항을 저장하라.

 

⭐ 프로젝트도 주기적으로 저장하는 것을 잊지 마라. 제목 표시줄에 별표(*)가 표시되어 있다면 저장되지 않은 변경 사항이 있다는 의미다.

 

이제 기능 설정이 완료되었으므로, 템플릿을 생성하는 작업을 진행하겠다.

 

 

템플릿 생성하기

1. 내비게이터에서 "Templates" 항목을 클릭하라.

 

👉 기능은 범용적으로 사용되지만, 템플릿은 특정 객체 유형을 위해 생성된다.

 

2. 엔터티 템플릿을 만들 것이므로, 엔터티 타일을 더블 클릭하거나 내비게이터에서 "Entity" 항목을 선택하라.

 

3. 그런 다음 "Tutorials"로 이동하라.

 

여기에 이미 캐릭터 템플릿이 있으며, 이제 무기(Weapons) 템플릿을 추가하겠다.

 

4. "Create new template"를 클릭하고 이름을 입력하라.

 

5. 그런 다음 더블 클릭하여 열고, "Edit"을 선택하여 템플릿 편집기를 열어라.

 

템플릿 편집기는 기능 편집기와 매우 유사하지만, 속성 목록 대신 왼쪽에 기존 모든 기능 목록이 표시된다.

 

6. "Item Basics"와 "Weapon" 기능을 레이아웃 영역으로 끌어오라. 이렇게 하면 템플릿이 기본적으로 완성된다.

 

⭐ 무기를 다른 아이템 유형과 쉽게 구분하기 위해 이 템플릿에 다른 아이콘과 색상을 지정할 수 있다.

 

7. 파일 아이콘을 클릭하고 사용할 이미지를 선택하라.

 

8. 페인트통 아이콘을 클릭 하여 새로운 색상을 선택하라.

 

9. 모든 설정이 만족스러우면 "Apply"를 클릭하고 변경 사항을 저장하라.

 

이제 엔터티를 생성할 차례다.

 

 

엔터티 생성하기

1. 내비게이터에서 "Entities"를 선택하거나 Jumpstart 페이지를 통해 이동하라.

 

2. 그런 다음 "Tutorial" 폴더로 이동하라.

 

3. 모든 항목을 정리하고 체계적으로 관리하기 위해 먼저 "Item" 폴더를 생성하라.

 

4. 이 폴더 안에 새로운 엔터티를 생성하라.

 

흡혈귀 이야기에서 말뚝이 빠질 수 없지!

 

5. 엔터티 타일을 더블 클릭하여 열고 "Template" 탭으로 이동하라.

 

6. "Tutorial" 폴더에서 Weapon 템플릿을 선택하고 확인하라.

 

이제 속성 값을 입력할 수 있다. 말뚝이 전투에서 얼마나 도움이 되는지, 몇 번 사용할 수 있는지, 그리고 멋진 설명 텍스트를 추가하면 된다.

 

👉 값 입력 시 설정된 제한을 초과하면 해당 값이 빨간색으로 표시된다. 이는 속성 보기에서 제한이 시각적으로 표시되는 방식이다.

 

이번 경우, 전투 보정치를 입력할 때 실수를 했다. 느낌표 아이콘 위에 마우스를 올려보면 문제의 원인을 확인할 수 있다. 내가 설정한 값이 템플릿에서 지정한 최대값을 초과했기 때문이다.

 

7. 아직 할 수 없는 한 가지가 있다. 적절한 미리 보기 이미지를 추가하는 것이다. 이를 위해 Jumpstart 페이지로 이동하라.

 

8. "Assets"를 선택하라.

 

우리는 이전에 미나 엔터티의 미리 보기 이미지를 기존 자산으로 선택할 때 자산에 대해 간단히 다뤘다.

 

👉 새로운 파일을 자산으로 사용하려면 먼저 articy에 가져와야 한다.

 

9. 새 파일을 자산으로 추가하려면 Images로 이동하라.

 

10. 그런 다음 "Tutorial" 폴더를 선택하라.

 

여기서는 지금까지 가진 이미지 자산, 즉 캐릭터와 지도 이미지를 볼 수 있다.

 

11. "Import Asset"을 클릭하라.

 

12. 원하는 이미지를 선택하라. "stake" 이미지는 Dracula 프로젝트 위치에 있는 "material" 폴더에서 찾을 수 있다.

 

물론, 다른 이미지를 사용할 수도 있다.

 

13. 이제 Entities로 돌아가서 아이템을 완성하자.

 

14. 파일 아이콘을 더블 클릭하고 방금 가져온 자산을 선택하라.

 

좋아 보인다!

 

오늘 강좌에서 마지막으로 해야 할 일은 아이템 변수를 생성하는 것이다. 나중에 흐름에서 조건을 확인할 수 있도록 사용하려고 한다.

 

아이템 변수 생성하기

1. Global Variables 시스템 폴더로 이동하라.

 

2. "Inventory"라는 새로운 변수 세트를 생성하라.

 

아이템을 엔터티로 생성할 때마다 해당 세트에 대응하는 변수를 생성할 것이다.

 

3. 툴바에서 버튼을 클릭하여 변수를 생성하라.

 

"Stake"라는 이름을 변수에 사용하고, 기본값을 false로 설정한 불리언(Boolean) 타입으로 만들 것이다. 설명 필드를 활용하여 이 아이템을 어디에서 얻을 수 있는지 기록할 것이다.

 

잘 했어!

 

복습:

이번 강의에서는 첫 번째 아이템을 만들었다. 이를 위해 엔터티 템플릿을 처음부터 생성하고, 미나의 인벤토리를 모니터링할 새로운 변수 세트를 설정했다.

 

다음에는:

다음 강의에서는 articy의 내보내기(export) 옵션을 살펴보고, 흐름을 Word로 직접 내보내는 방법을 배울 것이다.

참여해 주셔서 감사합니다. 다음 튜토리얼에서 다시 만나요.

안녕하세요, articy:draft 첫 걸음 튜토리얼 시리즈의 10번째 강좌에 오신 것을 환영합니다.

https://youtu.be/juBZQrbqZKs?si=77PYLBSHYnRs6-eH

 

 

복습:

지난 강의에서는 템플릿을 다뤘다. 템플릿을 사용하는 장점에 대해 알아보고, 템플릿의 구조를 살펴보았으며, 기능을 업데이트하여 새로운 속성을 추가하는 과정도 진행했다.

 

이번 강의:

이번 강의에서는 "Query Search" 기능을 활용하여 여러 객체에 한 번에 템플릿을 할당하는 방법을 배운다. 또한, "Property Inspector"를 사용하여 객체를 더욱 빠르게 편집할 수 있도록 추가적인 뷰를 활용하는 방법도 살펴볼 예정이다.

 

 

템플릿을 요소에 할당하기

튜토리얼 폴더의 Flow에서 "First meeting" 대화부터 시작한다.

  1. 요소의 속성을 열려면 해당 요소를 선택한 후 다음 방법 중 하나를 사용한다. 도구 모음에서 "Open Properties" 버튼 클릭 또는 오른쪽 클릭하여 컨텍스트 메뉴에서 선택하거나 F8 단축키 사용한다.

 

2. 템플릿 탭에서 지난 강의에서 업데이트한 대화 조각의 템플릿이 아직 할당되지 않았음을 볼 수 있다.

 

3. "Choose Template"을 클릭한 후 튜토리얼 폴더에서 대화 라인 템플릿을 선택한다. 그런 다음 확인을 클릭한다.

 

하나의 요소는 처리했으니 나머지 대화만 남았다…

 

 

Query Search로 여러 요소에 템플릿 할당하기


특정 템플릿을 여러 객체에 할당해야 하는 경우, "Query Search"를 사용하여 템플릿이 할당되지 않은 요소를 빠르게 찾고, 모든 요소에 템플릿을 한 번에 할당할 수 있다.

 

1. 내비게이터 도구 모음에서 Search 탭을 클릭한다.

 

프로젝트 트리가 검색 환경으로 바뀌며, 검색 기준 양식과 결과 목록이 표시된다. 이름, 설명 또는 모든 텍스트에서 일반 텍스트 검색을 할 수 있으며, 또는 지금부터 할 것처럼 쿼리 표현식으로 검색할 수 있다.

 

우리가 원하는 목표는 템플릿이 할당되지 않은 튜토리얼 부분의 모든 대화 조각을 목록으로 찾는 것이다.

 

2. Find Objects 드롭다운 메뉴에서 "Search by Query"를 선택한다.

 

3. 그런 다음 텍스트 필드에 검색 표현식을 입력해야 한다. articy의 "쿼리 언어"는 SQL과 유사하게 구성되어 있어 다소 복잡하고 기술적으로 보일 수 있지만, 기본적으로 프로젝트 내에서 생각할 수 있는 모든 항목을 검색할 수 있게 해준다. 자주 사용하는 예시들은 고급 검색 도움말 센터에서 찾을 수 있으며, 쿼리 언어에 대한 전체 문서를 PDF 형식으로도 제공한다.

 

우리는 대화 조각을 검색하고자 하므로, 먼저 쿼리를 "object type"으로 시작한다. "object type"을 입력하기 시작하면 자동 완성 기능이 활성화되며, 쿼리에 문제가 있을 경우 알림도 받게 된다.

 

"Object type = dialogue fragment"는 쿼리의 첫 번째 부분이지만, 이제 조금 더 구체적으로 지정해야 한다. 모든 대화 조각을 보고 싶은 것이 아니기 때문이다.

 

"AND"를 사용하여 두 번째 조건을 추가할 수 있다. 우리가 찾고 있는 것은 템플릿이 할당되지 않은 객체이므로, 쿼리를 "template name = “”"으로 이어간다. 기술적으로 이는 템플릿 이름이 비어 있다는 것을 의미하며, 이는 템플릿이 할당되지 않았음을 나타낸다.

 

4. 검색을 시작하기 전에 마지막으로 해야 할 일은 검색이 어디에서 이루어져야 하는지 지정하는 것이다. 우리는 Flow에서 객체를 찾고 있으므로, "Tutorial" 폴더를 선택하여 검색 범위를 더 좁힐 수 있다.

 

물론 전체 프로젝트에서 검색할 수도 있지만, 검색하는 내용과 프로젝트의 크기에 따라 많은 결과가 나올 수 있으므로, 때때로 검색 범위를 좁히는 것이 더 합리적일 수 있다.

 

이제 템플릿이 할당되지 않은 모든 대화 조각이 결과 목록에 표시된다. 항목을 클릭하면 오른쪽 콘텐츠 영역에 해당 항목이 표시된다.

 

4. 찾은 모든 객체에 템플릿을 한 번에 할당하려면 도구 모음에서 "Assign Template"을 클릭한다. 튜토리얼 폴더에서 "Dialogue Line" 템플릿을 선택하고 확인을 클릭하여 템플릿을 할당한다.

 

팝업 창이 나타나며, 템플릿이 할당된 객체의 수를 알려준다.

 

5. 모든 객체에 템플릿이 제대로 할당되었는지 확인하려면 쿼리를 다시 실행하면 된다. "No matches found"라는 메시지가 표시되어야 한다.

 

 

Property Inspector로 객체에 대한 추가 뷰 얻기

이제 대화를 진행하면서 "camera angle" 속성을 변경해야 할 위치를 결정할 수 있다. 템플릿을 할당할 때처럼 객체의 속성을 열고, 다시 흐름으로 돌아가 다음 객체의 속성을 여는 방식은 다소 번거롭다. 두 번째 뷰 창과 Property Inspector를 사용하여 이 과정을 훨씬 더 간소화할 수 있다.

 

1. 측면에서 두 번째 뷰 창을 끌어와서 연다.

 

2. 이 창의 점프스타트 페이지에서 Property Inspector를 선택한다.

 

Property Inspector는 다른 뷰 창에서 선택한 객체를 이 창에 동기화하여 표시한다. 우리는 이미 발표 모드에서 변수 변경을 모니터링할 때 Property Inspector를 사용했었고, 이제는 객체에 대한 두 번째 뷰를 얻기 위해 사용한다.

 

대화 흐름은 왼쪽에, 선택한 요소의 속성은 오른쪽에 표시된다.

 

3. 두 번째 창에서 Template 탭을 선택한다.

 

4. 더 많은 공간을 확보하기 위해 내비게이터 영역을 최소화하겠다. 내비게이터와 콘텐츠 영역 사이의 경계 위에 커서를 올려 놓으면 커서가 변경된다. 그런 다음 클릭한 채로 드래그한다.

 

내비게이터를 다시 보고 싶다면, 다시 드래그하여 끌어내거나 왼쪽 가장자리에 있는 스트라이프를 클릭하여 이전 크기로 열 수 있다.

 

대화 흐름을 확인한 후, 나중에 게임에서 변화를 주기 위해 카메라 앵글 속성을 변경할 위치를 결정할 수 있다. 선택 지점은 클로즈업 샷을 적용하기에 좋은 위치인 것 같다.

 

5. 왼쪽에서 대화 조각을 선택하고 오른쪽에서 속성 값을 변경한다. 여기서는 드라큘라의 경우 어깨 샷을 선택하겠다.

 

미나의 마지막 대사에는 클로즈업 샷을 추가한다.

 

좋아요.

이번 강의는 여기까지입니다.

복습:

우리는 쿼리 검색을 사용하여 템플릿이 없는 대화 조각을 찾고, 템플릿을 모든 요소에 한 번에 할당했습니다. 그 후, Property Inspector를 사용하여 두 번째 뷰 창에서 대화 조각의 속성을 보고 훨씬 더 빠르게 편집할 수 있었습니다.

 

다음 강의:

다음 강의의 주제는 다시 엔티티로, 이번에는 아이템 형태로 다룰 예정입니다. 아이템이 articy를 사용하여 어떻게 구조화되고 조직될 수 있는지에 대한 예제를 살펴보겠습니다. 여기에는 아이템 엔티티를 위한 아이템 템플릿을 처음부터 만드는 것과, 미나의 인벤토리를 모니터링할 새로운 변수 세트를 만드는 것이 포함됩니다.

참여해 주셔서 감사합니다. 다음 튜토리얼에서 다시 만나요!

안녕하세요, Articy:Draft 첫 걸음 튜토리얼 시리즈의 9번째 강좌에 오신 것을 환영합니다.

https://youtu.be/ZFrsWFHoQ3E?si=959Wov1TboqSuJLF

 

 

복습:

이전 강의에서는 글로벌 변수를 생성하는 방법을 배우고, 스크립팅을 사용하여 미나와 드라큘라의 대화에서 반응 지점을 만드는 방법을 익혔습니다.

 

이번 강의:

이번 강의에서는 템플릿(Templates)에 대해 다룬다. 템플릿을 왜 사용해야 하는지, 그리고 어떻게 활용하는지를 알아볼 것이다. 또한, 템플릿이 어떻게 구성되는지 자세히 살펴보고, 기존 템플릿 중 하나를 업데이트하여 새로운 속성을 추가하는 방법을 배울 것이다.

 

 

 

템플릿의 중요성

먼저, 템플릿을 사용하는 장점은 무엇일까?

게임 장르는 PC, 콘솔, 모바일 전반에 걸쳐 매우 다양하게 분포되어 있다. 그리고 같은 장르 내에서도 게임들은 단순히 기존 틀을 그대로 복사한 것이 아니라, 각 개발자가 고유한 아이디어를 반영하고 새로운 방식으로 이야기를 전달하려고 한다.

 

모든 게임 프로젝트 접근 방식에 맞는 하나의 해결책을 만드는 것은 현실적으로 어렵다. 일부에는 적합할 수 있지만, 다른 경우에는 너무 제한적일 수 있으며, 어떤 경우에는 아예 불가능할 수도 있다.

 

이런 이유로 Articy템플릿(Template) 기능이 등장했다. 사용자 지정 템플릿을 활용하면 프로젝트에 필요한 고유한 속성을 어떤 객체에도 추가할 수 있다. 이를 통해 게임 데이터를 원하는 방식으로 구조화할 수 있으며, 이는 캐릭터나 아이템 같은 요소에만 국한되지 않는다. 이번 강의 후반부에서는 사용자 지정 템플릿을 활용하여 "대화 조각(Dialogue Fragments)"에 속성을 할당하는 방법도 살펴볼 것이다.

 

 

템플릿의 구성 요소

템플릿은 세 가지 단계로 구성된 모듈 방식으로 구조화된다.

  • 첫 번째 단계는 개별 속성이다. 예를 들어, 캐릭터의 배경 이야기, 외형, 동기 등을 저장하는 텍스트 필드 같은 것이 이에 해당한다.
  • 두 번째 단계는 기능(Feature)이다. 기능은 여러 속성으로 구성된 집합이다. 예를 들어, 앞서 언급한 세 가지 텍스트 속성을 "캐릭터 정보(Character Info)"라는 기능으로 묶을 수 있다.
  • 세 번째 단계는 템플릿이다. 템플릿은 하나 이상의 기능으로 구성된다. 예를 들어, 캐릭터 템플릿은 "캐릭터 정보" 기능을 포함하고 있다.

👉 템플릿은 객체에 할당되며, 각 객체에는 하나의 템플릿만 할당할 수 있다.

 

 

템플릿 작업하기

이제 템플릿의 구조를 이해했으니, articy의 템플릿 디자인(Template Design) 영역으로 이동하여 사용할 수 있는 다양한 속성 유형을 자세히 살펴보자.

 

1. 점프스타트 페이지에서 "Design Template"을 클릭한다.

 

2. "Features"로 이동한다.

 

3. "Tutorial"로 이동한다.

 

4 ."Character Info" 기능을 연다.

 

5. 기능이 콘텐츠 영역에 표시되면, 편집할 수 있도록 오른쪽에 있는 "Edit" 버튼을 클릭한다.

 

이제 새로운 창으로 열린 "Feature Editor"에 들어왔다. 이 편집기는 세 부분으로 나뉘어 있다.

  • 왼쪽에는 모든 기본 속성 유형이 포함된 속성 목록이 있다.
  • 가운데에는 현재 기능의 상태를 보여주는 레이아웃 영역이 있다.

오른쪽에는 기능 및 속성 파라미터로 나뉜 파라미터 목록이 표시된다.

 

👉 "기술적 이름(Technical Names)"의 명명 규칙은 변수와 동일하다. 공백이나 특수 문자는 사용할 수 없으며, 규칙을 준수하지 않으면 즉시 알림을 받게 된다.

 

이제 이 기능에 사용된 속성을 살펴보자.

 

"Playable Character" 속성은 Boolean 속성이다. 우리는 이미 변수에서 이를 알고 있다. 이 속성의 값은 true 또는 false가 될 수 있다. 파라미터 영역에서 기본값을 설정할 수 있으며, 이 경우 기본값은 false다. 따라서 캐릭터를 플레이어블로 만들고 싶다면 이 속성을 변경하기만 하면 된다. 미나 캐릭터에서도 이와 같은 방식으로 설정했다.

 

숫자(Number) 속성은 비교적 직관적이지만, 템플릿 기능에 하나 추가하여 파라미터를 확인해 보자.

 

6. 클릭한 상태로 끌어서 속성을 레이아웃 영역에 추가한다.

 

7. 속성을 다시 클릭하여 선택한다. 파라미터 영역에서 더 많은 옵션이 제공된다. 기본값 설정 외에도 최소값과 최대값을 지정할 수 있다.

 

⭐ 팁: 제약 조건을 설정하는 것을 잊지 말자. 나중에 매우 유용하게 쓰일 수 있다. Articy는 발생하는 문제를 미리 감지하여 게임 엔진으로 넘어가기 전에 수정할 수 있도록 도와준다.

 

예를 들어, 숫자(Number) 속성이 적이 가하는 피해량을 조절하는 역할을 한다고 가정해 보자. 피해량이 10에서 100 사이여야 하는데, 데이터 입력 중 실수로 200을 입력했다면? 이 문제를 테스트 과정에서 발견하는 데 오랜 시간이 걸릴 수도 있다. 하지만 Articy에서는 이러한 오류가 아예 게임에 반영되지 않도록 방지할 수 있다.

 

이제 기능으로 돌아가자. 현재 숫자 속성은 필요하지 않으므로 제거하겠다.

 

8. 속성을 선택한 후 Delete 키를 누르거나, 우클릭하여 컨텍스트 메뉴에서 삭제 옵션을 선택한다.

 

다음은 텍스트 필드다. 현재 기능에서는 작은 텍스트 필드 하나와 중간 크기 텍스트 필드 세 개를 사용하고 있다.

 

👉 이 세 가지 속성의 차이점은 템플릿 탭에서 표시되는 텍스트 상자의 크기뿐이며, 이는 순전히 시각적인 요소다. 실제 입력할 수 있는 최대 텍스트 길이는 모든 텍스트 속성에서 동일하며, 파라미터에서 조정할 수 있다.

 

또한, 입력할 수 없는 문자(유효하지 않은 문자)를 정의하거나, 플레이스홀더 텍스트를 설정하는 것도 가능하다.

 

드롭다운 목록(Drop-down list)과 슬롯(Slot) 속성의 예제를 확인하기 위해 다른 기능으로 전환하겠다.

 

9. "Cancel"을 클릭한 후 확인하여, 변경 사항을 저장하지 않고 Feature Editor를 종료한다.

 

10. Tutorial 폴더에서 "Dialogue Fragment" 기능을 선택한다.

 

11. 다시 Feature Editor로 이동한다.

 

이 기능에는 현재 하나의 속성이 있다. "Sound File"이라는 슬롯(Slot) 속성이다.

슬롯 속성은 특정 파일이나 객체를 이 템플릿의 요소에 연결할 수 있도록 해준다. 이는 Lesson 4 – 캐릭터 생성 및 Lesson 5 – 흐름(Flow)에서 다뤘던 참조 스트립(Reference Strip)과 유사하다.

 

슬롯에서는 파라미터에서 허용할 객체 유형을 정의할 수 있다. 이 예제에서는 특정 대화 부분에서 재생할 사운드 파일을 할당하기 위해 슬롯 속성을 사용한다. 또한, 슬롯 입력을 "사운드(Sounds)" 유형의 에셋만 허용하도록 설정하면, 이미지나 비디오 파일이 실수로 연결되는 오류를 방지할 수 있다.

 

스트립(Strip)은 슬롯(Slot)과 기본적으로 동일하지만, 한 번에 여러 개의 파일이나 객체를 할당할 수 있다는 점이 다르다.

 

12. 드롭다운 목록 속성은 열거형 값을 제공한다. 드롭다운 목록을 레이아웃 영역으로 끌어다 놓는다. 이를 사용하여 대사 라인의 카메라 앵글을 선택하는 속성을 만들 예정이다.

 

13. 목록을 배치하면 "List Editor"가 자동으로 열린다. 여기에서 카메라 앵글을 목록 항목으로 입력할 것이다. "+" 버튼을 클릭하여 목록 항목을 추가한다.

 

14. 먼저 "Medium Shot" 항목을 추가한 다음, "Total", "Close Up", "Shoulder" 항목을 추가하여 목록을 완성한다. 목록 작성을 완료하면 "Okay"를 클릭하여 List Editor를 닫는다.

 

나중에 항목을 추가하거나 수정하려면 "Edit List" 버튼을 클릭하여 목록 편집기를 다시 열 수 있다. 의미를 잘 전달할 수 있는 적절한 이름을 선택하는 것이 중요하다. 일반적으로 표시 이름(Display Name)과 기술적 이름(Technical Name)을 동일하게 설정하지만, 기술적 이름에서는 공백을 사용하지 않는다.

 

15. 기본값을 설정한다. 이렇게 하면 이후 모든 대화 조각에서 개별적으로 카메라 앵글을 지정할 필요 없이, 기본값을 사용하고 변경이 필요한 경우에만 수정하면 된다.

 

남은 속성 유형들은 더 고급 기능에 해당하며, 이번 첫걸음 튜토리얼 시리즈의 범위를 벗어난다. 모든 속성 유형, 포함된 고급 기능에 대한 추가 정보는 도움말 센터에서 확인할 수 있다.

 

16. 변경 사항을 저장하려면 "Apply"를 클릭한 후 확인한다.

 

이번 강의의 마지막 부분에 도착했다.

 

복습:

템플릿을 사용하는 장점에 대해 알아보았고, 템플릿의 구조를 살펴보았다. 또한, 기능을 업데이트하여 새로운 속성을 추가하는 과정도 진행했다.

 

다음 강의:

다음 강의에서는 "Query Search" 기능을 활용하여 여러 객체에 한 번에 템플릿을 할당하는 방법을 배운다. 또한, "Property Inspector"를 사용하여 객체를 더욱 빠르게 편집할 수 있도록 추가적인 뷰를 활용하는 방법도 살펴볼 예정이다.

+ Recent posts