Articy:Draft 첫 걸음 튜토리얼 시리즈 L09 템플릿
안녕하세요, 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"를 사용하여 객체를 더욱 빠르게 편집할 수 있도록 추가적인 뷰를 활용하는 방법도 살펴볼 예정이다.