# 剪裁附件

<callout>裁剪可能是一项代价高昂的操作，应谨慎使用。请参见[性能](#性能)。</callout>

剪裁[附件](/spine-attachments)是一个用于剪裁区域和网格附件渲染的多边形。

![](/img/blog/3.6-clipping.gif)

使用[权重](/spine-weights)变换骨骼时，剪裁附件可以自动变形。

剪裁附件顶点位置可在动画中[设置关键帧](/spine-keys#变形关键帧)。

有关用法示例，请参阅剪裁[演示](/spine-demos#剪裁)、[示例项目](/spine-examples#剪裁)和[提示](/spine-tips#剪裁)。

# 设置

要创建新的剪裁附件，请在层级树中选择一个骨骼或插槽，然后在层级树属性中选择`新建...` `剪裁`。

![](/img/spine-user-guide/clipping/new.png)

新的剪裁附件会出现在层级树中，并且[编辑模式](#编辑模式)会自动打开。
编辑模式内的[新建顶点模式](#新建顶点模式)也会自动选中。

创建顶点并退出新建顶点模式后，应设置[结束插槽](#结束插槽)。

# 属性

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

请参见[常规附件属性](/spine-attachments#常规属性)了解`选择`、`导出`、`名称`、`颜色`及`设置父级`属性。

## 结束插槽

`结束插槽`属性可设置剪裁结束的插槽。剪裁将应用于绘制顺序中的所有插槽，从剪裁附件的插槽开始，到指定的结束插槽(包括这两个位置)结束。

单击铅笔图标可选择结束插槽。

默认情况下，新剪裁附件的结束插槽设置为包含该剪裁附件的插槽。结果是，剪裁是从剪裁附件的插槽到绘制顺序的末尾(绘制顺序中该插槽上方的所有插槽)完成的。剪裁的插槽在层级树中以红色高亮显示。

![](/img/spine-user-guide/clipping/start.png)

将结束插槽设置为`gun`后：

![](/img/spine-user-guide/clipping/endslot2.png)

## 编辑剪裁

点击`编辑剪裁`按钮将进入[编辑模式](#编辑模式)，用于修改剪裁附件的顶点。

## 冻结

`冻结`按钮可将当前顶点位置的旋转设置为0，缩放设置为1。

这样做可行是因为剪裁附件实际上没有旋转或缩放，它只有几个顶点，每个顶点都有一个位置。为了方便起见，Spine提供了旋转和缩放值以实现与其他附件类似的操作。当在整个附件上使用`旋转`或`缩放`工具时，会对其旋转和缩放进行调整。

剪裁附件也没有平移。显示的平移值是顶点的质心。

# 编辑模式

编辑模式可创建、修改和删除剪裁附件的顶点。

![](/img/spine-user-guide/clipping/create.png)

点击[编辑剪裁](#编辑剪裁)按钮将进入编辑模式。可通过再次单击`编辑剪裁`按钮、关闭编辑模式对话框、或者按`空格键`或`Esc键`来随时退出。

右键单击可在`创建`和`删除`工具之间切换。

## 创建工具

`创建`工具可沿剪裁附件边缘通过点击创建新顶点。拖动可平移顶点。双击可删除顶点。

## 删除工具

`删除`工具可通过单击删除顶点。拖动可平移顶点。按住`ctrl`(Mac为`cmd`)或拖动框选可选择多个顶点。

![](/img/spine-user-guide/clipping/delete.png)

## 新建顶点模式

点击`新建`按钮将删除所有顶点并进入新建顶点模式。此模式可通过单击创建新顶点来定义剪裁附件。也可以拖动来平移顶点，以及双击删除顶点。要完成顶点，可单击第一个顶点关闭多边形或再次单击`新建`按钮退出新建顶点模式。

![](/img/spine-user-guide/clipping/new-vertices.png)

# 变换工具

使用变换工具可以将剪裁附件顶点移出编辑模式。整个剪裁附件可以像任何其他附件一样旋转、平移和缩放。

![](/img/spine-user-guide/clipping/rotate.png)

使用任何变换工具通过拖动可移动单个顶点。按住`ctrl`（在Mac上为`cmd`）然后单击或拖动框选可选择多个顶点。按`空格键` 或`Esc键`，或单击任何空白区域可取消选择所选顶点。

![](/img/spine-user-guide/clipping/multiple-vertices.png)

可改变用于旋转或缩放的原点。将鼠标放在`旋转`或`缩放`工具上的小十字，直到出现圆圈，然后将原点拖动至所需位置。原点将自动与顶点对齐。

![](/img/spine-user-guide/clipping/origin.png)

在设置模式下移动顶点会更改设置姿势的剪裁附件。在动画模式下移动顶点是为了设置[变形关键帧](/spine-keys#变形关键帧)。通常应避免变形关键帧，而改用[权重](/spine-weights)。

旋转和缩放仅用于移动顶点。使用的旋转量和缩放量不存储在变形关键帧中。其仅存储顶点位置，变形关键帧之间的插值始终沿直线移动顶点。

# 绘制顺序

剪裁将应用于绘制顺序中的所有插槽，从剪裁附件的插槽开始，到剪裁附件的[结束插槽](#结束插槽)(包括这两个位置)。

若要更改在动画中剪裁哪些附件，可以为绘制顺序[设置关键帧](/spine-keys#绘制顺序)。

要打开或关闭剪裁附件，可显示或隐藏剪裁附件。要在动画中执行此操作，可为[插槽附件](/spine-keys#插槽附件)设置关键帧。

多个剪裁附件可同时可见，但它们剪裁的插槽不能在绘制顺序中重叠。

# 自交

如果剪裁附件多边形自相交，剪裁将无法正常工作。必须注意确保多边形边不会相互交叉。

# 性能

使用CPU实现Spine运行时剪裁是一项代价高昂的操作，尤其在使用有多个顶点的网格附件时。应始终在目标平台上检查使用剪裁的动画的性能。

<callout>尽可能使用只有3个顶点的剪裁附件，这是允许的最小顶点数。</callout>

若要最大限度地减少剪裁的CPU使用率，请减少剪裁附件中的顶点数以及所有剪裁区域和网格附件中的顶点总数。设置开始插槽和结束插槽以剪裁最少数量的附件，并编辑这些附件以尽可能减少每个附件中的顶点数。剪裁多边形的大小不会影响性能。

此外，将剪裁附件顶点排列为凸形可以极大地减少执行剪裁所需的CPU使用量。这是因为剪裁附件顶点首先将被分解为凸面多边形，然后对照所有剪裁区域和网格附件顶点检查每个生成的多边形。

仅在使用Spine运行时时需要考虑剪裁附件性能，在导出图片或视频时不需要考虑。

[下一节: 路径附件](/spine-paths)
[上一节: 边界框附件](/spine-bounding-boxes)
[Spine用户指南: 目录]