# 트리 뷰

트리 뷰에서는 스켈레톤과 스켈레톤에 포함된 모든 항목에 대한 계층 구조 뷰를 제공합니다. 트리는 Spine 사용의 핵심이며 많은 기능이 있어 프로젝트를 보다 쉽게 탐색할 수 있습니다.

![](/img/spine-user-guide/tree/tree-view.png)

트리를 효율적으로 사용하는 다양한 방법은 트리 [팁](/spine-tips#트리)를 참조하십시오.

# 트리 노드 

## 펼치기 및 접기 

트리 노드는 노드 아이콘의 왼쪽 아무 곳이나 클릭하여 펼치거나 접을 수 있습니다. 노드에서 아무 곳이나 마우스 오른쪽 버튼으로 클릭하면 해당 노드와 모든 노드의 자식이 펼쳐지거나 접히어 특정 노드를 찾는 데 필요한 클릭 수를 크게 줄일 수 있습니다.

<callout>Spine을 사용하고 나면 많은 노드가 펼쳐지게 됩니다. 트리를 더 쉽게 탐색할 수 있도록 하려면 접기 버튼을 두 번 클릭하여 노드를 모두 접습니다.</callout>

트리 맨 위에 있는 펼치기 및 접기 버튼을 사용하여 선택한 노드와 모든 노드의 자식을 펼치거나 접을 수도 있습니다. 노드를 선택하지 않거나 버튼을 두 번 클릭하면 모든 노드가 펼쳐지거나 접힙니다.

![](/img/spine-user-guide/tree/expand-collapse.png)

## 선택

트리 노드는 노드 아이콘 오른쪽의 아무 곳이나 클릭하여 선택할 수 있습니다. `ctrl`(Mac의 경우 `cmd`) 키를 누른 채로 클릭하여 여러 노드를 선택합니다. 노드를 선택한 다음 `shift` 키를 누른 채로 다른 노드를 클릭하여 노드 사이의 모든 노드를 선택합니다.

Spine에서는 `page down` 및 `page up`을 눌러 탐색되는 [선택 내역](/spine-tools/#선택-내역)을 보관합니다.

## 자동 스크롤 

![](/img/spine-user-guide/tree/auto-scroll.png)

<callout>트리가 필요한 항목에서 멀리 스크롤된 경우 `page down`을 누르면 일반적으로 [선택 내역](/spine-tools/#선택-내역)에서 트리로 돌아갑니다.</callout>

자동 스크롤이 활성화되면 뷰포트에서 항목이 선택될 때 트리가 자동으로 펼쳐지고 노드로 스크롤됩니다. 이 기능은 매우 유용한 경우도 있지만, 그 밖의 경우는 자동 스크롤을 비활성화하여 트리에서 위치를 잃지 않도록 하는 것이 좋습니다.

버튼을 마우스 오른쪽 버튼으로 클릭하여 선택한 노드로 스크롤합니다.

## 표시 여부 

많은 트리 노드에는 트리의 왼쪽 가장자리를 따라 표시점이 있습니다. 표시점을 클릭하면 항목이 표시되거나 숨겨집니다.

![](/img/spine-user-guide/slots/slot-visibility.png)

## 키 지정 

애니메이팅 모드에서 일부 트리 노드에는 트리의 왼쪽 가장자리를 따라 키 버튼이 있습니다. 키를 클릭하면 항목에 대한 키가 설정됩니다.

![](/img/spine-user-guide/key-frames/bone.png)

## 주석

주석은 트리의 오른쪽 가장자리를 따라 표시되어 다른 항목과의 관계를 나타냅니다. 예를 들어, 이 경우는 항목이 스킨에 속하거나 제약조건이 적용되었음을 의미합니다. 주석 아이콘을 클릭하여 관련 항목을 선택할 수 있습니다. [자동 스크롤](#자동-스크롤)이 활성화된 경우에도 항목으로 스크롤하지 않고 마우스 오른쪽 버튼으로 클릭하여 관련 항목을 선택합니다.

![](/img/spine-user-guide/constraints/annotations.png)

## 속성

트리에서 항목을 선택하면 해당 속성이 트리 하단에 표시됩니다. 이러한 속성은 프로젝트의 항목이 구성되는 위치입니다. 일부 속성은 단일 노드를 선택한 경우에만 편집할 수 있습니다.

대부분의 속성에는 복제, 이름 바꾸기 및 삭제를 위한 세 개의 동일한 버튼이 오른쪽 상단에 있습니다.

![](/img/spine-user-guide/ui/properties-buttons.png)

일부 속성에는 선택 항목을 관련 트리 노드로 변경하는 추가 버튼이 오른쪽 상단에 있습니다.

![](/img/spine-user-guide/tree/select-button.png)

## 드래그 앤 드롭 

<callout>드래그가 시작되면 잘못된 드래그 앤 드롭을 방지하기 위해 매우 짧은 시간 동안 드롭할 수 없습니다.</callout>

뼈, 슬롯 또는 어태치먼트와 같은 많은 트리 노드를 새 부모 노드로 드래그할 수 있습니다. 이는 `Set Parent` 버튼을 클릭한 다음 새 부모를 클릭하는 것과 같습니다.

드래그하는 동안 마우스가 트리 위나 아래로 이동하면 트리가 자동으로 스크롤됩니다. 드래그하는 동안 마우스 휠을 사용하여 스크롤하고 마우스 오른쪽 버튼을 클릭하여 노드를 펼치거나 접을 수 있으며 [선택 내역](/spine-tools/#선택-내역)에 대해 `page down`과 같은 단축키를 사용할 수 있습니다.

## 이미지 미리 보기 

슬롯, 영역 어태치먼트 또는 메쉬 어태치먼트의 트리 노드 위에 마우스를 놓으면 잠시 후 트리 노드에 대한 이미지가 트리 옆에 팝업으로 표시되고 뷰포트에서 어태치먼트가 스켈레톤에 표시됩니다. `F1` 키를 사용하여 기다리지 않고 이미지 미리 보기를 표시할 수 있습니다.

이미지 미리 보기가 표시될 때 다른 트리 노드 위에 마우스를 놓으면 지연 없이 해당 노드에 대한 이미지 미리 보기가 표시됩니다.

[툴팁](/spine-settings#툴팁) 설정을 선택하지 않고 이미지 미리 보기를 비활성화할 수 있습니다. 이 경우에도 `F1` 키를 눌러 팝업을 여전히 계속 볼 수 있습니다.

![](/img/spine-user-guide/tree/image-preview.png)

## 바로 가기 

* `F2` 키를 누르면 선택한 트리 노드의 이름 바꾸기 대화 상자가 열립니다.
* 이름을 바꿀 수 있는 트리 노드를 두 번 클릭하면 이름 바꾸기 대화 상자가 열립니다.
* `Animations`, `Events` 또는 `Skins` 노드를 두 번 클릭하면 새 애니메이션, 이벤트 또는 스킨이 생성됩니다.
* 표시점을 마우스 오른쪽 버튼으로 클릭하면 해당 트리 노드와 모든 노드의 자식에 대한 [표시점이 전환](/img/spine-user-guide/tree/right-click-dot.gif)됩니다.
* [선택 그룹](/spine-tools#선택-그룹)을 사용하여 선택 항목을 저장하고 불러올 수 있습니다.

# 필터

트리를 필터링하여 선택한 유형의 트리 노드만 표시할 수 있습니다. 필터 버튼을 클릭하여 표시될 트리 노드 유형을 선택합니다. 필터가 활성화되면 필터 버튼이 빨간색으로 됩니다.

![](/img/spine-user-guide/tree/filters.png)

`ctrl`(Mac의 경우 `cmd`) 또는 `shift` 키를 길게 눌러 여러 필터를 선택합니다. `Reset` 버튼을 클릭하면 모든 필터가 선택됩니다.

`Text search filters`를 선택하고 [텍스트 검색](#텍스트-검색)을 사용하면 검색과 일치하지 않는 노드가 숨겨집니다.

필터 버튼을 마우스 오른쪽 버튼으로 클릭하여 필터를 켜거나 끕니다. 

## 필터 버튼 

필터를 빠르게 설정하여 뼈, 슬롯 또는 어태치먼트를 각각 표시할 수 있는 버튼이 제공됩니다.

![](/img/spine-user-guide/tree/filter-buttons.png)

## 필터 사용 

트리 필터는 매우 강력하며 여러 작업을 더 쉽게 할 수 있습니다.

일반적으로 뷰포트에서 어태치먼트를 선택하면 트리에서도 선택됩니다. 어태치먼트가 트리에서 숨겨지면 어태치먼트의 슬롯이 대신 트리에서 선택됩니다. 이렇게 하면 슬롯을 찾기 위해 트리를 뒤지는 대신 뷰포트에서 어태치먼트를 선택하여 슬롯을 더 쉽게 선택할 수 있습니다.

뼈가 트리에서 숨겨지면 `Draw Order` 노드가 사라지고 슬롯이 드로우 오더에 표시됩니다. 슬롯을 위나 아래로 드래그하여 드로우 오더를 변경할 수 있습니다. 뼈 없이 슬롯을 보면 여러 슬롯을 선택하는 것이 더 편리해집니다(예: 슬롯의 색상 변경 등).

![](/img/spine-user-guide/tree/filter.png)

트리에서 뼈와 어태치먼트를 모두 숨기면 [드로우 오더를 조정](/spine-slots#트리-필터)하는 것이 더 쉬워질 수 있습니다.

특정 유형의 트리 노드를 선택하는 작업이 있을 때마다 트리 필터가 유용할 수 있습니다. 예를 들어, 복잡한 스켈레톤에서 경로를 선택해야 하는 경우 필터링하여 경로 어태치먼트만 표시할 수 있습니다. 또는 트리를 필터링하여 영역 어태치먼트만 표시할 수 있으므로, 많은 영역 어태치먼트를 보다 쉽게 선택하여 메쉬 어태치먼트로 바꿀 수 있습니다.

# 찾기 및 바꾸기

![](/img/spine-user-guide/tree/find-and-replace-button.png)

찾기 및 바꾸기 버튼을 클릭하면 프로젝트의 이름과 경로에 있는 텍스트를 바꿀 수 있는 대화 상자가 열립니다.

![](/img/spine-user-guide/tree/find-and-replace.png)

`Find` 텍스트 상자는 검색할 텍스트입니다. `Replace` 텍스트 상자는 바꿀 텍스트입니다.

`Find` 텍스트를 일치시키는 방법에 대한 옵션이 제공됩니다.

* `Match case`: 선택하면 검색 시 `Find` 텍스트의 대/소문자 구분이 중요합니다.
* `First occurence`: 선택하면 이름 또는 경로 내의 첫 번째 일치 항목만 바뀝니다.
* `Regular expression`: 선택하면 `Find` 텍스트가 [정규 표현식](http://www.regular-expressions.info/)으로 사용됩니다. 이 옵션은 다소 애매하지만 찾고 바꿀 수 있는 매우 강력한 방법을 제공합니다. 몇 가지 예:
  * `^`는 시작과 일치합니다: `^something`<br>예를 들어 하위 폴더 앞에 추가하려면, 찾기: `^`, 바꾸기: `subfolder/`, 결과: `something` → `subfolder/something`.
  * `$`는 끝과 일치합니다: `something$`
  * `.`는 모든 단일 문자와 일치합니다: `s.mething`
  * `.*`는 모든 항목과 일치합니다: `some.*`
  * 괄호 안에 일치 항목을 그룹화하여 바꾸기에 사용할 수 있습니다.<br>예를 들어, 찾기: `some(th.*)`, 바꾸기: `other$1`, 결과: `something` → `otherthing`.

찾기 및 바꾸기 대화 상자의 오른쪽에 있는 패널은 일치 항목을 표시하고 바꿀 항목을 보여 줍니다. 일치 항목을 선택하지 않을 수 있으며, 일치 항목은 바뀌지 않습니다. 녹색 화살표는 바꿀 항목이 올바름을 나타냅니다. 빨간색 화살표는 바꿀 항목에 문제가 있음을 나타냅니다. 예를 들어, 일부 이름은 고유해야 하며 공백 이름은 허용되지 않습니다.

![](/img/spine-user-guide/tree/invalid-replace.png)

`Scope`는 검색되는 프로젝트 부분을 지정합니다.
* `Entire project`는 프로젝트의 모든 항목을 고려합니다.
* `Tree selection`은 트리에서 선택한 항목만 고려합니다. 트리 필터를 사용하면 많은 트리 항목을 더 쉽게 선택할 수 있습니다. 
* `Current skin`은 현재 스킨에 있는 항목만 고려합니다. 

`Field`는 `Name` 또는 `Path` 필드가 검색되는지를 지정합니다.

`Types`은 고려할 오브젝트 유형을 지정합니다. `ctrl`(Mac의 경우 `cmd`) 또는 `shift` 키를 길게 눌러 여러 유형을 선택합니다.

# 텍스트 검색 

![](/img/spine-user-guide/tree/type-to-filter.png)

트리 상단의 검색 상자를 사용하면 트리에서 항목을 입력하여 찾을 수 있습니다. 검색 상자를 클릭하거나 `enter` 키를 눌러 검색 상자를 포커싱합니다. 검색 상자에 입력하면 트리에서 일치하는 항목이 강조 표시됩니다. `Text search filters` [트리 필터](#필터)가 활성화되면 일치하는 항목만 표시됩니다.

`enter`, `F3` 키를 누르거나 다음 화살표를 클릭하여 다음 검색 결과를 선택합니다. `shift+enter` 키, `shift+F3` 키 또는 이전 검색 화살표를 눌러 이전 결과를 선택합니다. `escape`를 눌러 검색을 지웁니다.

검색 텍스트에는 다음과 같은 특수 문자가 포함될 수 있습니다.
* `*`는 모든 문자와 일치합니다.
* `?`는 모든 단일 문자와 일치합니다.
* `\`는 모든 리터럴 `*`, `?` 또는 `/`를 이스케이프합니다.

검색 텍스트의 시작과 끝에 슬래시(`/`)가 있으면 [정규 표현식](http://www.regular-expressions.info/)으로 처리됩니다.

# 설정 보기 

![](/img/spine-user-guide/tree/view-settings.png)

#### 모든 스킨 어태치먼트 표시 

선택하지 않으면 각 스킨 플레이스홀더 아래에 [활성 스킨](/spine-skins#활성-스킨)에 대한 어태치먼트만 트리에 표시됩니다(있는 경우).

![](/img/spine-user-guide/tree/show-all-skins1.png)

선택하면 각 스킨 플레이스홀더 아래에 스킨 플레이스홀더에 대한 어태치먼트가 있는 모든 스킨의 어태치먼트가 트리에 표시됩니다.

![](/img/spine-user-guide/tree/show-all-skins2.png)

활성 스킨에 어태치먼트가 없어도 활성 스킨이 항상 표시되어 어태치먼트를 설정할 수 있습니다.

이 설정에서는 트리에 아주 많은 노드를 표시하지만 모든 스킨을 한 번에 살펴볼 수 있고 일부 작업을 훨씬 더 쉽게 할 수 있습니다.

#### 스켈레톤 이름 숨기기 

선택하면 스켈레톤 이름과 슬래시(`/`)로 시작하는 트리 노드에서는 스켈레톤 이름을 줄임표로 바꿉니다.

예를 들어, 스켈레톤 이름이 `spineboy`이고 어태치먼트의 이름이 `spineboy/head`인 경우 어태치먼트는 트리에 `...head`로 나타납니다.

이 설정에서는 이름을 더 짧게 만들어 트리에서 혼란을 줄일 수 있습니다. 일부 프로젝트에서는 각 스켈레톤의 이미지를 포함하는 하위 폴더가 있는 모든 스켈레톤에 대해 동일한 [이미지 경로](/spine-images#이미지-경로)를 사용합니다. 즉, 모든 어태치먼트 이름 앞에는 스켈레톤 이름이 붙습니다.

#### 스킨 이름 숨기기 

선택하면 [활성 스킨](/spine-skins#활성-스킨) 이름과 슬래시(`/`)로 시작하는 트리 노드에서는 스킨 이름을 줄임표로 바꿉니다.

예를 들어, 스킨 이름이 `girl`이고 어태치먼트의 이름이 `girl/head`인 경우 `girl` 스킨이 활성화되면 어태치먼트는 트리에 `...head`로 나타납니다.

이 설정에서는 이름을 더 짧게 만들어 트리에서 혼란을 줄일 수 있습니다. 일부 프로젝트에서는 각 스킨의 이미지를 포함하는 하위 폴더를 사용합니다. 즉, 모든 어태치먼트 이름 앞에는 스킨 이름이 붙습니다.

#### 스킨 뼈 및 제약조건 숨기기 

선택하면 스킨에 있고 뼈의 스킨이 표시되지 않아 활성화되지 않은 뼈와 제약조건은 트리에 표시되지 않습니다.

이 설정에서는 많은 스킨 뼈 또는 제약조건을 사용하는 프로젝트의 트리에서 혼란을 줄일 수 있습니다.

#### 뷰포트 스킨 뼈 숨기기 

선택하면 스킨에 있고 뼈의 스킨이 표시되지 않아 활성화되지 않은 뼈는 뷰포트에 표시되지 않습니다.

선택하지 않으면 표시되는 스킨에 관계없이 모든 뼈가 활성화됩니다.

모든 뼈를 보는 것이 도움이 될 수 있지만, 뼈의 스킨이 표시되지 않을 때 스킨 뼈가 활성화되도록 오도할 수도 있습니다. 런타임 시 올바르게 렌더링되지 않는 [뼈 경고](/spine-skins#뼈-경고)는 이 설정을 선택하지 않으면 올바르게 렌더링될 수 있습니다. 이러한 이유로 이 설정은 기본적으로 선택되며 대부분의 경우 선택되어야 합니다.

# 동영상

[youtube:guZ-zdr4IDw&list=PLwGl7Ikd_6GRFo7d0uRu_fN2RIlvkxW7b?modestbranding=1&rel=0]

[다음: 가중치 뷰](/spine-weights)
[이전: 타임라인 뷰](/spine-timeline)
[Spine 사용자 가이드: 목차]