# 层级树视图

层级树视图为骨架及其包含的所有内容提供了层次结构视图。该层级树是使用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会保存一个[选择历史记录](/spine-tools/#选择历史记录)，可以通过按`page down`和`page up`浏览该历史记录。

## 自动滚动

![](/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>

可以将许多层级树节点(如骨骼、插槽或附件)拖动到新的父节点。这相当于单击`设置父级`按钮，然后单击新的父级。

拖动时，如果鼠标在层级树的上方或下方移动，层级树将自动滚动。拖动时，可以使用鼠标滚轮滚动，右键单击可以展开或折叠节点，还可以使用`page down`等热键浏览[选择历史记录](/spine-tools/#选择历史记录)。

## 图片预览

将鼠标放在插槽、区域附件或网格附件的层级树节点上时，过一会儿层级树节点的图片将显示在层级树旁边的弹出窗口中，附件将显示在视口中的骨架上。按`F1`无需等待即可显示图片预览。

显示图片预览后，将鼠标放在其他层级树节点上将立即显示这些节点的图片预览。

通过取消选中[工具提示](/spine-settings#工具提示)设置，可以禁用图片预览。在这种情况下，仍然可以通过按`F1`查看弹窗。

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

## 快捷方式

* 按`F2`可打开所选层级树节点的重命名对话框。
* 双击可以重命名的层级树节点将打开重命名对话框。
* 双击`动画`、`事件`或`皮肤`节点将创建新的动画、事件或皮肤。
* 右键单击可见点将[切换](/img/spine-user-guide/tree/right-click-dot.gif)显示该层级树节点及其所有子节点。
* [选择分组](/spine-tools#选择分组)可用于存储和重新调用选择。

# 筛选器

可以对层级树进行筛选，以仅显示所选类型的层级树节点。单击筛选器按钮可选择将显示的层级树节点类型。当筛选器处于活动状态时，筛选器按钮为红色。

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

按住`ctrl`(Mac为`cmd`)或`Shift`可选择多个筛选条件。按`重置`按钮将选择所有筛选条件。

选中`文本搜索筛选器`并使用[文本搜索](#文本搜索)时，会隐藏与搜索不匹配的节点。

右键单击筛选器按钮可打开或关闭筛选器。

## 筛选按钮

提供这些按钮可快速设置筛选器以分别显示骨骼、插槽或附件。

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

## 使用筛选器

层级树筛选器非常强大，可以简化许多任务。

通常，当在视口中选择附件时，也会在层级树中选择该附件。当附件在层级树中隐藏时，将在层级树中选择附件的插槽。这样就可以通过在视口中选择附件而不必在层级树中费力查找插槽，从而方便选择插槽。

当骨骼在层级树中隐藏时，`绘制顺序`节点会消失，插槽按绘制顺序显示。可以上下拖动插槽来更改绘制顺序。查看没有骨骼的插槽可以更方便地选择多个插槽，例如更改它们的颜色。

![](/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)

`查找`文本框是要搜索的文本。`替换`文本框是要用来替换它的文本。

提供如下`查找`文本匹配方式选项：

* `区分大小写`：选中后，`查找`文本的大小写在搜索时非常重要。
* `首个匹配项`：选中后，只替换名称或路径中的第一个匹配项。
* `正则表达式`：选中后，`查找`文本用作[正则表达式](http://www.regular-expressions.info/)。这提供了一种有点神秘但极其强大的查找和替换方法。下面是一些示例：
  * `^` 匹配开头: `^something`<br>例如，要为子文件夹添加前缀，请查找: `^`, 替换: `subfolder/`, 结果: `something` &rarr; `subfolder/something`。
  * `$` 匹配结尾: `something$`。
  * `.` 匹配任意单个字符: `s.mething`。
  * `.*` 匹配所有内容: `some.*`。
  * 圆括号将匹配项分组，然后用于替换。<br>例如, 查找: `some(th.*)`, 替换: `other$1`, 结果: `something` &rarr; `otherthing`。

查找和替换对话框右侧的面板显示匹配项和替换项。你可以取消选中匹配项，该匹配项将不会被替换。绿色箭头表示替换有效。红色箭头表示替换有问题。例如，某些名称必须是唯一的，不允许使用空白名称。

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

`范围`指定搜索项目的哪个部分：
* `整个项目`将考虑项目中的所有项。
* `层级树选择`只考虑层级树中选择的项目。层级树筛选器可以使选择许多层级树项目变得更容易。
* `当前皮肤`只考虑当前皮肤中的项目。

`字段`指定是否搜索`名称`或`路径`字段。

`类型`指定要考虑的对象类型。按住`ctrl`(Mac为`cmd`)或`Shift`可选择多个类型。

# 文本搜索

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

层级树顶部的搜索框允许通过键入内容来查找层级树中的项目。单击搜索框或按`Enter`键以进行搜索。在搜索框中输入内容将突出显示层级树中匹配的项目。如果`文本搜索筛选器`[层级树筛选器](#筛选器)处于活动状态，则只显示匹配的项目。

按`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#骨骼警告)可能会正确渲染。因此，此设置在默认情况下处于选中状态，并且应该在大多数情况下处于选中状态。


# 视频

[Bilibili](https://www.bilibili.com/video/BV1zK411M7Ud/)
<iframe src="//player.bilibili.com/player.html?bvid=BV1zK411M7Ud&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>!!

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

[下一节: 权重视图](/spine-weights)
[上一节: 时间轴视图](/spine-timeline)
[Spine用户指南: 目录]