# 경로 제약조건

<callout>Spine Essential에서는 경로 제약조건을 사용할 수 없습니다.</callout>

경로 제약조건에서는 [경로](/spine-paths)를 사용하여 [뼈 변형](/spine-bones#뼈-변형)을 조정합니다. 뼈는 경로를 따라 이동될 수 있으며 경로를 따라 가리키도록 뼈의 회전이 조정됩니다.

![](/img/spine-user-guide/path-constraint/pathconstraint.png)

경로 제약조건은 이동 키를 대체할 수 있으며, 경로를 사용하여 움직임을 보다 쉽게 정의할 수 있습니다. 다른 많은 용도에는 여러 뼈를 경로에 제약한 다음 각 뼈를 개별적으로 조정하는 대신 경로를 조작하여 뼈를 제어하는 것이 포함됩니다. 예를 들어, 뼈는 경로를 따라 고르게 간격을 두거나 크기를 늘려 뼈가 경로를 따라 커지는 것처럼 보일 수 있습니다.

사용 예는 경로 제약조건 [데모](/spine-demos#경로-제약조건), [예제 프로젝트](/spine-examples#경로-제약조건) 및 [팁](/spine-tips#경로-제약조건)을 참조하십시오.

# 설정

경로 제약조건을 만들려면 제약될 뼈를 선택한 다음 트리 속성에서 `New...` `Path Constraint`를 클릭합니다. 다음으로 트리에서 슬롯을 선택하거나 트리 또는 뷰포트에서 기존 경로를 선택합니다.

![](/img/spine-user-guide/path-constraint/setup.png)

경로 제약조건은 실제로 경로를 타깃으로 하지 않고 대신 슬롯을 타깃으로 합니다. 경로 제약조건은 해당 슬롯에 표시되는 경로가 있는 경우 이를 사용합니다. 단일 경로 제약조건이 여러 경로에서 작동할 수 있기 때문에 이 옵션에서는 추가적인 유연성을 제공합니다.

# 속성

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

## 뼈

여기에는 제약된 뼈가 표시됩니다. 한 개의 뼈가 제약된 경우 뼈를 클릭하면 선택됩니다.

여러 뼈가 제약되면 선택 상자에 표시됩니다. 경로를 따라 뼈가 나타나는 순서는 선택 상자를 연 다음 뼈를 위나 아래로 드래그하여 수정할 수 있습니다.

선택 상자를 연 다음 뼈를 클릭하면 해당 뼈가 선택됩니다. 선택 상자를 열지 않고 뼈 이름을 마우스 오른쪽 버튼으로 클릭하면 해당 뼈가 선택됩니다.

연필 아이콘을 클릭하여 다른 뼈를 선택할 수 있습니다. 이렇게 하면 제약된 모든 뼈가 지워지고 새 뼈를 선택할 수 있습니다. 뼈가 선택되는 순서에 따라 경로를 따라 뼈가 나타나는 순서가 결정됩니다.

## 타깃

이 속성에는 타깃 슬롯이 표시됩니다. 슬롯에서 경로가 표시되도록 하는 경우 슬롯도 표시됩니다. 클릭하면 슬롯이나 경로가 선택됩니다.

연필 아이콘을 클릭한 다음 슬롯이나 경로를 선택하여 다른 슬롯을 선택할 수 있습니다.

## 스페이싱

<callout>`Length` 또는 `Proportional`은 각 뼈 사이에 다른 스페이싱이 필요할 때 유용합니다.</callout>

스페이싱은 첫 번째 뼈 뒤의 뼈가 경로를 따라 배치되는 방식을 제어합니다.

* `Length` 이전 뼈의 길이를 사용하여 각 뼈를 배치합니다. 스페이싱 값은 각 뼈의 길이에 추가됩니다.
* `Fixed` 고정 간격을 사용하여 뼈를 동일한 간격으로 배치합니다.
* `Percent` 전체 경로 길이의 백분율을 사용하여 뼈를 동일한 간격으로 배치합니다.
* `Proportional` 스페이싱 값이 100일 때 뼈 간격을 두어 전체 경로를 차지하도록 합니다. 각 뼈의 길이에 따라 스페이싱에 사용되는 전체 경로 길이의 비율이 결정됩니다.

스페이싱 슬라이더는 스페이싱 값을 조정합니다. 스페이싱 값은 [키를 지정](/spine-keys#경로-제약조건)할 수 있습니다.

## 위치

위치는 경로를 따라 뼈가 배치되는 위치를 제어합니다.

* `Fixed` 경로를 따라 고정 간격에 뼈를 배치합니다.
* `Percent` 경로를 따라 전체 경로 길이의 백분율과 동일한 간격에 뼈를 배치합니다.

위치 슬라이더는 위치 값을 조정합니다. 위치 값은 [키를 지정](/spine-keys#경로-제약조건)할 수 있습니다.

경로가 [닫힘](/spine-paths#닫힘)이 아닌 경우, 위치가 경로의 시작(음수) 전에 있거나 경로의 끝을 지날 때 경로의 시작 또는 끝이 가리키는 방향으로 직선을 사용하여 위치가 결정됩니다. 경로가 선택되면 파선으로 표시됩니다.

### 위치 핸들

<callout>`ctrl`(Mac의 경우 `cmd`) 키를 누르고 있으면 위치 핸들이 선택되지 않습니다. 이 옵션은 위치 핸들 아래의 매듭이나 핸들을 선택하는 데 도움이 될 수 있습니다.</callout>

경로가 선택되면 위치 핸들이 뷰포트의 경로에 나타납니다.

![](/img/spine-user-guide/path-constraint/position.jpg)

위치 핸들을 드래그하면 위치 값이 변경되며 위치 슬라이더를 사용하는 것보다 더 편리할 수 있습니다.

## 회전 오프셋

회전 오프셋은 [회전 믹스](#회전-믹스)로 계산된 회전에 추가됩니다. 이 옵션은 편의상 제공되므로, 다른 방향을 가리키도록 추가 뼈를 사용할 필요 없이 뼈는 다른 방향을 가리킬 수 있습니다.

![](/img/spine-user-guide/path-constraint/offset.jpg)

## 회전 믹스

회전 믹스는 뼈가 경로와 일치하도록 회전, 이동 및 크기가 조정되는 방식을 제어합니다.

* `Tangent` 뼈의 위치에서 경로 방향을 가리키도록 뼈를 회전합니다. 즉, 경로가 구부러지면 뼈의 끝이 경로에 없을 가능성이 높고 뼈가 다음 뼈를 가리키지 않습니다.<br>![](/img/spine-user-guide/path-constraint/tangent.jpg)
* `Chain` 먼저 뼈를 이동하여 이전 뼈의 끝에 있도록 한 다음, 뼈를 회전시켜 [스페이싱](#스페이싱)으로 결정된 경로를 따라 뼈가 다음 위치를 가리키도록 합니다. [회전 오프셋](#회전-오프셋)이 0이 아니면 이동이 적용되지 않습니다. 경로가 급격하게 구부러지면 이전 뼈 끝이 경로에 없을 수 있습니다(아래 이미지 참조). `Chain`은 뼈가 탱크 트레드와 같이 단단한 것을 나타낼 때 유용합니다.<br>![](/img/spine-user-guide/path-constraint/chain.jpg)
* `Chain Scale` 먼저 뼈를 회전시켜 [스페이싱](#스페이싱)으로 결정된 경로를 따라 뼈가 다음 위치를 가리키도록 한 다음, 끝이 해당 위치에 있도록 뼈의 크기를 조정합니다. 이렇게 하면 모든 뼈 위치와 끝이 경로에 있게 됩니다. `Chain Scale`은 뼈가 로프와 같이 유연한 것을 나타낼 때 유용합니다.<br>![](/img/spine-user-guide/path-constraint/chain-scale.jpg) `Chain Scale`을 사용할 때 모든 뼈는 동일한 부모를 가져야 합니다. 그렇지 않으면 경고 아이콘이 표시되고 경로 제약조건에 의해 적용된 크기 조정이 올바르지 않을 수 있습니다.

회전 믹스 슬라이더는 회전 믹스를 조정하며, 자세한 내용은 [제약조건 믹스](/spine-constraints#믹스)를 참조하십시오. 회전 믹스는 [키를 지정](/spine-keys#경로-제약조건)할 수 있습니다.

회전 믹스가 0보다 크고 100보다 작은 경우 타깃 뼈를 이동하면 회전에서 갑자기 다른 방향을 사용할 수 있습니다. 이 문제는 뼈의 회전과 제약조건의 회전 사이의 보간이 가장 짧은 회전 방향을 사용하기 때문에 발생합니다.

종종 회전 믹스는 잠깐만 사용되어 0과 100으로 또는 0과 100에서 전환합니다.

## 이동 믹스

이동 믹스는 제약조건이 뼈의 이동에 미치는 영향을 제어하며, 자세한 내용은 [제약조건 믹스](/spine-constraints#믹스)를 참조하십시오. 이동 믹스는 [키를 지정](/spine-keys#경로-제약조건)할 수 있습니다.

`Link sliders`를 선택하면 회전 및 이동 믹스 슬라이더가 함께 이동합니다.

# 색상

위치 핸들과 경로 제약조건의 트리 아이콘 색상은 첫 번째 제약된 뼈의 색상을 사용합니다.

# 동영상

[youtube:ToJ6oGA73J4&list=PLwGl7Ikd_6GRFo7d0uRu_fN2RIlvkxW7b]

[다음: 변형 제약조건](/spine-transform-constraints)
[이전: IK 제약조건](/spine-ik-constraints)
[Spine 사용자 가이드: 목차]