파일 임포트¶
모든 것은 왼쪽의 Browser를 통해 들어온다: 파일을 더블클릭하거나, 선택한 것(또는 폴더 전체)을 Staging 열로 끌어다 놓는다.
이 시점에 Harmony에는 아무것도 쓰이지 않는다. 여기서 임포트란 "이 파일에 대한 계획을 트리에 넣는다"는 뜻이다.
OSA가 읽는 것¶
| 포맷 | 종류 | 무엇이 되는가 |
|---|---|---|
.psd / .psb |
Photoshop | 가지 하나 통째 — PSD 참고 |
.png |
래스터 | 드로잉 하나, 또는 시퀀스의 노출 하나 |
.jpg / .jpeg |
래스터 | 동일 |
.tif / .tiff |
래스터 | 동일 |
.tga |
래스터 | 동일 |
.tvg |
Toon Boom 벡터 | 있는 그대로 복사 — 이미 Harmony 드로잉이다 |
.svg |
벡터 | 파싱되어 네이티브 Harmony 스트로크로 쓰임 |
.tpl |
Harmony 템플릿 | 불투명한 블록 하나로 스테이징됨 |
.anm |
Octo Transform Sync 애니메이션 | 슬롯의 peg에 적용되는 애니메이션 |
.pvt |
Blender 베이크 (피벗) | 슬롯의 피벗 데이터 |
.tvg와 .svg가 같은 길이 아닌 이유
.tvg는 Harmony 드로잉이다. 그래서 바이트 단위로 복사된다 — 변환도, 알파도, 정렬도 없다. 변환할 것이 없다. .svg는 소스다: Harmony에는 스크립트로 쓸 수 있는 SVG 임포트가 아예 없어서, OSA가 직접 패스를 파싱해 진짜 연필 스트로크를 드로잉에 쓴다. SVG 파일 자체는 장면에 들어가지 않는다.
폴더¶
폴더를 끌어다 놓으면 폴더 와 그 내용물이 함께 들어오고, 폴더 구조가 트리 구조가 된다. 하위 폴더는 가지가 되고, 그 안의 파일은 잎이 된다.
들어오는 길에 세 가지가 일어난다:
- 이름에서 태그를 파싱한다 —
arm=P-G라는 폴더는 peg와 group이 이미 체크된 채로 도착한다. - Magnet이 알아본 것을 잡아챈다 —
PROPS라는 폴더는 루트에 떨어지는 대신 당신의PROPS가지 아래로 라우팅된다. - 번호가 붙은 파일들이 시퀀스로 묶인다 — 아래 참고.
PSD 안에서 magnet은 정확한 이름을 가지고 태그가 없는 폴더다
Photoshop 폴더는 그 이름이 magnet 그 자체일 때 — PROPS, 또는 그 별칭 중 하나 — 그리고 태그를 하나도 달고 있지 않을 때에만 magnet 신호가 된다. 폴더 자체는 만들어지지 않는다. 그 안에 있는 것이 PROPS 아래로 라우팅된다.
=와 태그를 달고 있는 것은 무엇이든 독립된 노드이지, 신호가 아니다: PROPS/Prop-1=P-D는 peg를 가진 Prop-1 드로잉을 PROPS 안에 놓아 준다. 그리고 magnet과 단지 닮은 이름은 쳐주지 않는다 — Prop-1은 prop이지, PROPS 폴더가 아니다.
이미지 시퀀스¶
번호가 붙은 파일이 든 폴더는 드로잉 열두 개가 아니다 — 노출 열두 개를 가진 드로잉 하나다.
OSA는 번호 매김을 감지해 슬롯 하나를 만들고, 각 파일을 내재적 Frames 폴더에 각자의 프레임으로 넣는다. 그러면 Range 열이 찾아낸 것을 보고한다:
| Range 열의 표시 | 의미 |
|---|---|
Seq: 1-840 |
연속된 노출 구간 |
Seq: 1-12, 20-24 |
사이에 간격이 있는 두 구간 — 범위는 합쳐지고 정직하게 보고된다 |
Frame 3 |
프레임 3의 단일 노출 |
Hold: 5-8 |
네 프레임 동안 홀드된 드로잉 하나 |
Empty |
아직 아트가 없는 드로잉 슬롯 |
Template |
.tpl |
앵커는 숫자다. 파일이 어느 프레임이 될지는 목록에서의 위치가 아니라 이름 속의 숫자가 정한다. 구간에서 빠진 파일은 구멍을 남기고, 그 구멍은 조용히 메워지지 않고 보고된다.
프레임과 노출을 보라.
PSD¶
OSA는 PSD를 직접 파싱하고 각 레이어를 래스터화한다 — Harmony 자신의 레이어드 PSD 임포트는 절대 호출하지 않는다. 그것이 아래의 나머지를 가능하게 한다:
- 그룹이 가지가 된다. Photoshop 계층이 곧 스테이징 계층이다.
- 레이어 이름이 태그로 읽힌다. Photoshop의
head=P-G-C는 Harmony에서 peg, group, composite가 된다. - art layer 태그가 아트를 라우팅한다.
line=LA와flats=CA는 하나의 드로잉의 두 art layer가 된다. - 조정 레이어가 이펙트 노드가 된다. Brightness/Contrast, Hue/Saturation, Levels 등 — PSD 조정 레이어 참고.
- 레이어 마스크가 매트가 되어 이펙트의 매트 포트에 배선된다.
- 클리핑된 레이어는 Photoshop에서 읽히는 방식대로 아래 레이어에 붙는다.
임포트가 대신 채워주는 것¶
Photoshop에는 Harmony 셀이라는 개념이 없어서, 들어오는 길에 몇 가지가 만들어진다. 그것들은 태깅을 Photoshop 안에서 최대한 가볍게 유지하려고 존재한다:
| PSD에서 | 트리에서 |
|---|---|
아트를 가진 =D 태그의 레이어 |
드로잉, 그리고 frame 1을 담은 Frames 폴더, 그 안의 아트 |
=P-G-C 태그의 그룹 |
peg, group, composite가 체크된 슬롯 |
=LA, =CA, =OL 태그의 레이어들 |
art layer 셋이 채워진 하나의 드로잉 |
| art layer 태그가 없는 레이어 | Line Art의 아트 |
레이어에 =D를 다는 경우는 알아둘 가치가 있다. 타이핑을 가장 많이 줄여주기 때문이다. 실제로 태그된 파일을 보자:
아래쪽 그룹을 보자. sky+clouds=P-C는 폴더다. peg와 composite를 가진 슬롯이 되고, 안에 든 것을 aggregate한다. 그 안에는 레이어 두 개, cloud=P-D와 sky=P-D가 있다 — 각각 자기 드로잉과 자기 peg를 가지며, sky는 Photoshop에서와 똑같이 cloud 아래에 놓인다. 트리 순서가 곧 합성 순서이기 때문이다.
이제 sky의 아트가 폴더 자신의 것이었다고 해 보자. 폴더에 =D를 달면 컨테이너의 드로잉이 자식들 위로 올라가고 — sky가 cloud 앞에 서 버린다. 그렇다고 레이어 하나 담자고 sky=D 컨테이너를 만드는 것은 공연한 격식이다. 그래서 레이어에 태그를 단다: sky=D, cloud의 형제로, 합성 순서가 필요로 하는 바로 그 자리에 — 그리고 OSA가 프레임을 공급한다. Harmony에서 노출된 셀 없는 드로잉은 존재하지 않기 때문이다.
아트를 가진 레이어는 모두 D를 직접 달고 있다는 점에 주목하자 — fg=P-D, cloud=P-D, sky=P-D. 반면 aggregate만 하는 폴더에는 없다: wall=P-C, tube+glow=P-C. 행을 드로잉으로 만드는 것은 D이고, OSA는 D가 있고 난 뒤에 프레임을 대신 써 준다. 픽셀을 찾았다고 해서 D를 붙여 주지는 않는다. 빼놓으면 레이어는 그래도 들어온다 — 떨어진 컨테이너에 속한 아트로서, art layer나 트랙으로 — 다만 자기 드로잉으로는 아니다.
.psb(Photoshop Large Document)도 같은 파서를 지난다 — 크기 필드가 64비트인 같은 포맷이고, 당신의 30 000픽셀 배경이 저장되는 형식이다.
빈 레이어는 실수가 아니다
OSA는 바운딩 박스가 비었다는 이유로 레이어를 쳐내지 않는다. 빈 레이어는 많은 파이프라인에서 정당한 자리표시자이고, 아티스트의 자리표시자를 지우는 것이 빈 드로잉을 스테이징하는 것보다 나쁘다.
Harmony 템플릿 (.tpl)¶
템플릿은
Template로 표시된 단일 행으로 도착하며, 자신이 선언한 프레임 범위(Seq: 1-840)를 지닌다.
평범한 슬롯이 아닌 두 행 중 하나다(다른 하나는 내재적 Frames 폴더). Harmony는 템플릿을 블록으로 건네준다: OSA는 그것을 배치하고, 부모를 정하고, 라우팅하지만 열어보지는 않는다. 그 속은 Harmony의 것이기 때문이다.
드로잉이 갈 수 있는 곳이면 어디든 떨어뜨려라 — magnet 가지 안도 포함이며, 거기서는 다른 모든 것처럼 자동으로 부모가 정해진다.
알파와 정렬¶
드로잉별 선택 두 가지가 Inspector의 Import Options에 있고, 둘 다 그 포맷에 대해 Harmony 자신이 골랐을 값에서 가져온 정직한 기본값을 갖는다:
Alpha — 파일의 투명도를 어떻게 해석할지:
| 모드 | 쓸 때 |
|---|---|
Premultiplied with Black |
PNG, JPG, TIFF, TGA의 기본값 |
Straight |
PSD의 기본값 |
Premultiplied with White |
흰색 위에 합성된 아트 |
Clamp Colour to Alpha |
보정 대신 잘라내고 싶은 프린징 |
Alignment — 이미지를 장면에 어떻게 맞출지:
| 레이블 | 하는 일 |
|---|---|
Actual Size |
프로젝트 자체 해상도에서 이미지 픽셀 1 = 장면 단위 1 |
Project Resolution |
같은 규칙, 프로젝트 해상도에 맞춰 스케일 |
Fit |
이미지 전체를 카메라 안에 맞춤 |
Vertical Fit |
높이로 맞추고, 가로는 자유롭게 두어 가운데 정렬 |
Horizontal Fit |
너비로 맞춤 |
Pan |
첫 페이지에 정렬 — 스크롤되는 아트용 |
이것은 인덱스가 아니라 키워드다
OSA는 enum의 정수가 아니라 Harmony의 정렬 키워드를 쓴다. 번호 매김은 어디에도 문서화되어 있지 않고, 인덱스를 추측하는 것은 장면이 맞아 보이면서 잘못 읽히게 만드는 바로 그 부류의 버그다.
임포트 모드¶
모든 드로잉 컨테이너는 하나의 질문에 답한다: 아트가 드로잉 안으로 들어가는가, 아니면 드로잉은 바깥 파일을 가리키는 그릇일 뿐인가?
| 모드 | 의미 |
|---|---|
| Art Layers (기본) | 아트가 드로잉의 art layer에 안착한다. 어느 것인지는 당신이 고른다. |
| Original Bitmap | 드로잉이 파일을 있는 그대로 참조한다. art layer는 아예 없다. |
벡터냐 비트맵이냐는 파일이 정합니다, 당신이 아니라¶
Art Layers 모드에는 벡터/비트맵 스위치가 없습니다. 애초에 그것은 진짜 선택지가 아니었기 때문입니다. 파일이 이미 둘 중 하나이고, OSA는 각 art layer를 그 아트가 요구하는 모드로 씁니다.
| 파일 | art layer가 기록되는 방식 |
|---|---|
.tvg |
벡터 — 이미 드로잉인 그대로 복사 |
.svg |
벡터 — Harmony의 네이티브 스트로크로 다시 그림 |
.png, .tga, .tiff, .jpeg, PSD 레이어 |
비트맵 |
그리고 종류는 확장자가 아니라 시그니처 바이트에서 읽습니다 — 실제로는 TIFF인 .png는 이름이 아니라 실체대로 취급됩니다.
art layer 하나는 한 종류뿐입니다
Harmony의 art layer는 벡터 또는 비트맵이며 둘 다일 수는 없습니다. 그래서 같은 Colour Art에 .svg와 .png를 함께 쌓는 것은 충돌입니다. 맨 위 트랙이 그 레이어의 종류를 정하고, 다른 종류의 트랙은 건너뜁니다 — 임포트 리포트에 하나씩 이름이 적히고, 스테이징 트리에는 그대로 남아 여러분이 만든 것이 사라지지 않습니다. 두 종류를 구분하는 아이콘과 함께 전체 규칙은 여기에: Drawings, Art Layers & Subart.
그 모드가 무엇을 포기하고 무엇을 얻는지는 Original Bitmap을 보라.
Transform Sync 파일¶
.anm과 .pvt는 아트가 아니라 Octo Transform Sync의 애니메이션과 피벗을 담는다. 탐색하고 스테이징할 수 있지만 절대 드로잉이 되지 않는다 — 슬롯이 만드는 peg에 붙는다.


