스킨

스킨을 사용하면 스켈레톤의 애니메이션을 다른 어태치먼트 세트에서 재사용할 수 있습니다. 스킨은 간단한 의상 바꾸기에 사용하거나 많은 다양한 조각으로 전체 캐릭터를 짜 맞추는 데 사용할 수 있습니다.

스킨은 스킨이 표시될 때만 활성화되는 어태치먼트, , 제약조건로 구성됩니다. 스켈레톤에서는 스킨 뷰를 사용하여 한 번에 여러 스킨이 표시되도록 할 수 있습니다.

스킨의 핵심은 "스킨 플레이스홀더"이며, 이는 다른 어태치먼트와 마찬가지로 트리의 슬롯 아래에 있는 어태치먼트입니다. 그러나 스킨 플레이스홀더는 사용될 실제 어태치먼트에 대한 플레이스홀더일 뿐이며, 플레이스홀더는 현재 표시되는 스킨에서 가져옵니다.

애니메이션에서는 슬롯 어태치먼트에 키를 지정하여 어태치먼트를 표시하거나 숨기는 것과 마찬가지로 스킨 플레이스홀더를 표시하거나 숨길 수 있습니다. 이렇게 하면 애니메이션이 특정 어태치먼트를 표시하거나 숨기는 데 연결되지 않습니다. 대신, 애니메이션에서는 스킨 플레이스홀더를 표시하거나 숨기며 실제로 표시되는 어태치먼트는 어떤 스킨이 표시되는지에 따라 애니메이션을 활성화하여 모든 스킨에서 사용되도록 합니다.

사용 예는 스킨 데모, 예제 프로젝트을 참조하십시오.

설정

스킨 설정은 스킨 및 스킨 플레이스홀더를 만든 다음 해당 스킨에 대한 어태치먼트로 스킨 플레이스홀더를 채우는 작업으로 구성됩니다. 뼈와 제약조건을 스킨에 추가할 수도 있습니다.

트리에서 Skins 노드를 선택하고 New... Skin을 클릭하면 스킨이 생성됩니다.

스킨 플레이스홀더

스킨 플레이스홀더의 이름을 지정할 때 이름에 해당 스킨을 나타낼 필요는 없습니다. 대신 어태치먼트를 나타내는 이름으로 지정해야 합니다.

예를 들어, redblue 스킨이 있는 경우 red head 또는 blue head가 아니라 head가 머리에 대한 적절한 스킨 플레이스홀더 이름이 됩니다.

트리에서 뼈, 슬롯 또는 어태치먼트를 선택한 다음 New... Skin Placeholder를 클릭하여 스킨 플레이스홀더를 생성합니다. 어태치먼트 선택 시, 스켈레톤에 활성 스킨이 없으면 이 옵션은 비활성화됩니다.

어태치먼트 선택

새 스킨 플레이스홀더를 생성하기 전에 여러 어태치먼트를 선택할 수 있습니다. 각각의 어태치먼트 대해 스킨 플레이스홀더가 생성됩니다.

새 스킨 플레이스홀더 생성 시 어태치먼트를 선택하면 해당 어태치먼트는 새 스킨 플레이스홀더 아래의 활성 스킨으로 이동됩니다. 하지만 먼저 더 많은 옵션을 제공하는 대화 상자가 표시됩니다. 일부 옵션은 메쉬 어태치먼트 또는 키가 있는 어태치먼트에만 나타납니다.

  • Duplicate attachments for each skin: 모든 스킨에 대한 어태치먼트를 복제합니다. 이 옵션은 대부분 또는 모든 스킨에서 동일한 어태치먼트를 추가할 때 유용합니다.
    • Linked meshes: 메쉬를 복제하는 대신, 다른 스킨에는 연결된 메쉬가 생성됩니다.
      • Inherit deform: 연결된 메쉬는 소스 메쉬의 변형 키를 공유합니다.
    • Duplicate keys: 각 애니메이션에서 복제된 각 어태치먼트의 키도 복제됩니다.
    • Rename attachments: 복제된 각 어태치먼트 앞에 스킨 이름을 추가합니다. 예를 들어, red 스킨의 경우 headred/head가 됩니다. 이 옵션은 각 스킨의 이미지가 하위 폴더로 구성될 때 유용합니다.

속성

내보내기

Export를 선택하지 않으면 스킨이 내보내지지 않습니다. 즉, 내보낸 JSON 또는 바이너리에 스킨과 스킨의 어태치먼트가 없고 이미지 또는 비디오 내보내기에 나타나지 않습니다.

메쉬 어태치먼트를 내보내지 않으면 연결된 메쉬 중 어느 것도 내보내지지 않습니다.

어태치먼트를 내보내지 않고 애니메이션에 키가 지정되면 해당 키는 내보내지지 않습니다.

색상

스킨의 색상을 변경하면 트리에서 스킨을 구별하여 더 쉽게 식별할 수 있습니다. 스킨 색상은 런타임 시 영향을 미치지 않으며 Spine 편집기에서 시각화하는 데만 사용됩니다.

스킨에 추가

Add to Skin 버튼을 클릭하면 스킨에 추가 모드로 들어가며, 스킨 뼈스킨 제약조건를 스킨에 추가할 수 있습니다. Add to Skin 버튼을 다시 클릭하거나 spacebar 또는 escape를 눌러 언제든지 이 모드를 종료할 수 있습니다.

폴더

스킨은 폴더로 구성할 수 있습니다. 폴더를 생성하려면 스킨을 선택한 다음 New... Folder를 클릭합니다. 스킨은 드래그하여 폴더 간에 이동할 수 있습니다.

내보낸 스켈레톤 데이터에서 폴더 이름은 스킨 이름 앞에 추가되어 Spine 런타임에서 사용되는 최종 이름이 생성됩니다. 예를 들어, hair 폴더에 brown 스킨이 있는 long 하위 폴더가 있는 경우 런타임 시 스킨 이름은 hair/long/brown이 됩니다.

활성 스킨

트리에서 각 스킨 옆에 있는 점은 "활성"인 스킨을 제어합니다.

트리 전체의 스킨 플레이스홀더는 현재 활성 스킨에 대한 어태치먼트를 표시합니다.

활성 스킨은 편집되고 있는 스킨이며 지정된 시간에는 하나의 스킨만 활성 상태일 수 있습니다. 활성 스킨은 항상 표시됩니다.

스킨 뷰를 사용하면 여러 스킨을 고정하여 동시에 볼 수 있지만 지정된 시간에는 하나의 스킨만 활성 상태일 수 있습니다. 스킨 뷰에서 스킨을 선택하면 활성 스킨으로 만듭니다.

스킨 어태치먼트

모든 스킨 어태치먼트 표시를 사용하여 모든 스킨의 모든 스킨 어태치먼트를 한 번에 볼 수 있습니다.

스킨에는 각 스킨 플레이스홀더에 대해 하나의 어태치먼트(또는 없음)가 있을 수 있습니다. 활성 스킨에 대한 스킨 플레이스홀더의 어태치먼트를 설정하려면, 먼저 스킨이 활성 상태인지 확인한 다음 어태치먼트를 스킨 플레이스홀더로 드래그하거나 부모 설정를 사용합니다. 활성 스킨에 있었던 스킨 플레이스홀더의 이전 어태치먼트는 모두 삭제됩니다.

어태치먼트를 스킨 플레이스홀더 대신 스킨 플레이스홀더 아래의 기존 어태치먼트로 드래그하면, 기존 어태치먼트의 변형이 새 어태치먼트에 복사됩니다.

스킨 플레이스홀더의 어태치먼트를 지우려면 삭제하거나 다른 곳으로 드래그합니다.

스킨 뼈

스킨 뼈 및 제약조건 숨기기는 트리에서 비활성 뼈를 숨깁니다.

뷰포트 스킨 뼈 숨기기는 뷰포트에서 비활성 뼈를 숨깁니다. 이 옵션을 선택하지 않으면 스킨에 관계없이 모든 뼈가 활성화되므로 일반적으로 선택해야 합니다.

는 하나 이상의 스킨에 추가할 수 있으므로, 뼈가 있는 스킨이 활성화된 경우에만 뼈가 활성화됩니다. 이에 따라 스켈레톤에는 특정 스킨에만 사용되는 뼈가 있을 수 있습니다. 활성화되지 않은 뼈는 런타임 성능에 영향을 미치지 않습니다.

활성 스킨에 뼈를 추가하려면 뼈를 선택한 다음 트리 속성에서 Add to skin를 클릭합니다. 트리에서 뼈를 드래그하여 스킨에 놓을 수도 있습니다. 또는 스킨을 선택하고 트리 속성에서 Add to skin를 클릭한 다음 원하는 수의 뼈 또는 제약조건을 클릭하여 스킨에 모두 추가합니다.

다른 스킨에 있는 어태치먼트 가중치 또는 제약조건에 의해 뼈가 필요한 경우, 뼈는 자동으로 해당 다른 스킨에 추가됩니다. 이 경우, 변경 사항에 대한 세부 정보가 포함된 spine.log를 여는 버튼과 함께 메시지가 표시됩니다. 변경 사항은 실행 취소를 사용하여 되돌릴 수 있지만 그렇게 하면 경고가 나타납니다.

스킨 뼈에는 트리의 뼈 오른쪽에 스킨 아이콘이 있습니다. 이 아이콘을 클릭하면 모든 뼈의 스킨 아래에 있는 뼈가 선택됩니다. 이렇게 하면 스킨을 찾거나 모든 스킨에서 뼈를 제거하는 것이 쉽습니다.

스킨에서 뼈를 제거하려면 트리에서 스킨 아래의 뼈를 선택한 다음 제거 버튼(일반적으로 삭제 버튼이 있는 위치)을 클릭합니다.

Skin bones are not available in Spine Essential.

도프시트 및 그래프에서 피부 뼈에 대한 골격 행이 트리 보기 설정에 따라 표시되지 않을 수 있습니다.

스킨 제약조건

스킨 뼈 및 제약조건 숨기기는 트리에서 비활성 제약조건을 숨깁니다.

스킨 뼈 및 제약조건 숨기기는 트리에서 비활성 제약조건을 숨깁니다.

제약조건은 하나 이상의 스킨에 추가할 수 있으므로, 제약조건이 있는 스킨이 활성화된 경우에만 제약조건이 활성화됩니다. 이에 따라 스켈레톤에는 특정 스킨에만 사용되는 제약조건이 있을 수 있습니다. 활성화되지 않은 제약조건은 런타임 성능에 영향을 미치지 않습니다.

활성 스킨에 제약조건을 추가하려면 제약조건을 선택한 다음 트리 속성에서 Add to skin를 클릭합니다. 트리에서 제약조건을 드래그하여 스킨에 놓을 수도 있습니다. 또는 스킨을 선택하고 트리 속성에서 Add to skin를 클릭한 다음 원하는 수의 제약조건이나 뼈를 클릭하여 스킨에 모두 추가합니다.

스킨 제약조건에는 트리의 제약조건 오른쪽에 스킨 아이콘이 있습니다. 이 아이콘을 클릭하면 모든 제약조건의 스킨 아래에 있는 제약조건이 선택됩니다. 이렇게 하면 스킨을 찾거나 모든 스킨에서 제약조건을 제거하는 것이 쉽습니다.

스킨에서 제약조건을 제거하려면 트리에서 스킨 아래의 제약조건을 선택한 다음 제거 버튼(일반적으로 삭제 버튼이 있는 위치)을 클릭합니다.

제약된 뼈

제약된 뼈는 제약조건에서 수정할 뼈입니다. 제약된 뼈 중 일부가 스킨에 있기 때문에 활성화되지 않은 경우, 제약조건은 여전히 영향을 미치지만 비활성 뼈가 수정되지는 않습니다.

모든 제약된 뼈가 스킨에 있다면, 제약조건도 해당 스킨에 있어야 합니다. 이는 모든 제약된 뼈가 활성화되지 않은 경우 제약조건은 아무 관련이 없기 때문입니다. 제약조건에는 해당 스킨 중 하나 이상에 추가될 때까지 경고가 있습니다.

스킨 제약조건 예

스킨은 제약조건을 사용하여 뼈를 움직일 수 있으므로 스켈레톤과 모든 스켈레톤의 애니메이션을 다른 크기의 캐릭터에 재사용할 수 있습니다. 자세한 내용은 다른 크기의 스킨 제약조건을 참조하십시오.

경고

Spine 런타임에서 사용할 데이터를 내보내기 전에 모든 경고를 수정해야 합니다.

스킨이 잘못 구성되면 뼈, 어태치먼트 및 제약조건의 아이콘이 있는 트리에 경고가 표시됩니다.

이 경우는 스켈레톤의 다양한 부분이 다른 부분에 의존하기 때문에 발생할 수 있습니다. 일부 부분이 스킨에 추가되고 해당 스킨이 표시되지 않으면 해당 부분을 사용할 수 없습니다. 이로 인해 뼈 변형이 올바르지 않거나 어태치먼트가 렌더링되지 않거나 제약조건이 적용되지 않을 수 있습니다.

뼈 경고

뼈가 부모 뼈와 같은 스킨에 있지 않으면 뼈의 트리 아이콘에 경고가 표시됩니다. 이 경우 뼈와 어태치먼트는 뷰포트에 나타나지 않습니다.

부모 뼈가 활성화되지 않으면 자손 뼈에 대한 변형이 올바르지 않습니다. 가중치를 사용하는 어태치먼트와 같이 자식 뼈의 변형에 의존하는 모든 것도 올바르지 않습니다.

뼈 경고를 수정하려면 자식 뼈를 부모 뼈와 동일한 스킨에 추가합니다.

뷰포트 스킨 뼈 숨기기를 선택하지 않으면 표시되는 스킨에 관계없이 모든 뼈가 활성화됩니다. 런타임 시 올바르게 렌더링되지 않는 뼈 경고는 이 설정을 선택하지 않으면 올바르게 렌더링될 수 있습니다.

어태치먼트 경고

다음과 같은 경우 어태치먼트의 트리 아이콘에 경고가 표시됩니다.

  • 뼈 경고가 있는 뼈의 가중치가 어태치먼트에 있는 경우 또는
  • 어태치먼트가 스킨에 있고, 어태치먼트가 스킨에 있지만 어태치먼트의 스킨에는 없는 뼈의 가중치가 어태치먼트에 있는 경우

활성화되지 않은 뼈에 대해 가중치가 부여된 정점은 올바르지 않으며 월드 0,0으로 설정됩니다. 예를 들어, 메쉬의 잘못된 정점은 월드 0,0에 나타납니다. 모든 정점이 올바르지 않으면 전체 메쉬가 월드 0,0에 있고 전혀 볼 수 없습니다.

어태치먼트 경고를 수정하려면 먼저 어태치먼트의 가중치에서 사용되는 뼈에 대한 모든 뼈 경고를 수정합니다. 그런 다음 어태치먼트가 스킨에 있고 해당 뼈 중 하나라도 스킨에 있는 경우, 스킨 뼈를 어태치먼트의 스킨에 추가합니다.

제약조건 경고

다음과 같은 경우 제약조건의 트리 아이콘에 경고가 표시됩니다.

  • 제약조건의 타깃 뼈가 스킨에 있지만 제약조건이 해당 스킨에 없는 경우 또는
  • 제약조건의 제약된 모든 뼈는 스킨에 있지만 제약조건은 해당 스킨의 어디에도 없는 경우

제약조건에 경고가 있는 경우는 표시되는 스킨에 따라 제약조건을 전혀 적용할 수 없거나 가끔만 적용할 수 있음을 의미합니다.

제약조건 경고를 수정하려면 타깃 뼈와 동일한 스킨에 제약조건을 추가합니다. 그런 다음 제약된 모든 뼈가 스킨에 있는 경우 제약조건이 스킨 중 하나 이상에 있는지 확인합니다.

스킨 복제

스킨이 복제되면 더 많은 옵션을 제공하는 대화 상자가 표시됩니다. 일부 옵션은 메쉬 어태치먼트 또는 키가 있는 어태치먼트에만 나타납니다.

  • Linked meshes: 새 스킨에 대한 메쉬를 복제하는 대신 연결된 메쉬가 생성됩니다.
    • Inherit deform: 연결된 메쉬는 소스 메쉬의 변형 키를 공유합니다.
  • Duplicate keys: 각 애니메이션에서 복제된 각 어태치먼트의 키도 복제됩니다.
  • Rename attachments: 복제된 각 어태치먼트 앞에 스킨의 이름을 추가합니다. 예를 들어, red 스킨의 경우 head 어태치먼트는 red/head가 됩니다. 이 옵션은 각 스킨의 이미지가 하위 폴더로 구성될 때 유용합니다.

스킨 워크플로

스킨은 강력하며 다양한 방법으로 사용할 수 있습니다. 스킨으로 작업할 때 올바른 워크플로를 사용하면 엄청난 시간을 절약할 수 있습니다.

첫 번째 스킨

스킨 플레이스홀더를 사용하지 않고 모든 어태치먼트가 생성된 경우 스킨 플레이스홀더를 생성하고 기존 어태치먼트를 하나씩 이동하는 작업은 지루할 수 있습니다. 이 작업을 보다 효율적으로 하려면, 먼저 트리 필터를 사용하여 뼈와 슬롯을 숨겨 어태치먼트만 표시되도록 합니다. 이렇게 하면 많은 어태치먼트를 더 쉽게 선택할 수 있습니다. 다음으로 스킨을 생성하거나 스킨이 활성인지 확인한 다음 어태치먼트를 선택하고 New... Skin Placeholder를 선택합니다. 이렇게 하면 동일한 이름을 사용하는 각 어태치먼트에 대한 스킨 플레이스홀더가 생성되고 어태치먼트는 활성 스킨의 스킨 플레이스홀더 아래로 이동됩니다.

필요한 경우 찾기 및 바꾸기를 사용하여 어태치먼트 이름을 수정할 수 있습니다. 예를 들어, skinName/imageName과 같이 스킨 이름을 하위 폴더 접두사로 추가합니다.

유사한 스킨

새 스킨이 기존 스킨과 유사할 경우 기존 스킨을 복제하는 것이 도움이 될 수 있습니다. 기존 스킨에서는 모든 기존 스킨의 어태치먼트도 복제한 다음 새 스킨을 수정합니다.

이미지나 어태치먼트를 새 스킨의 스킨 플레이스홀더로 드래그하는 경우 기존 어태치먼트에 놓으면 변형이 복사되지만, 스킨 플레이스홀더에 놓으면 변형이 복사되지 않습니다.

찾기 및 바꾸기를 사용하여 새 스킨의 모든 어태치먼트 이름을 빠르게 바꿀 수 있습니다. 이미지가 동일한 크기이고 명명 규칙(예: skinName/imageName)을 사용하는 경우, 새 스킨을 완전히 설정하는 데 필요한 유일한 단계는 찾기 및 바꾸기일 수 있습니다.

프로그래밍 방식 스킨

찾기 및 바꾸기를 사용하여 많은 수의 스킨을 만드는 방식을 찾고 있다면 다른 솔루션을 사용하는 것이 좋습니다. 간단한 패턴이나 명명 규칙을 사용하여 얻을 수 있다면 Spine 프로젝트에서 모든 것을 지루하게 만들 필요가 없습니다.

스킨이 어태치먼트 이름만 다른 경우 프로그래머와 협력하여 런타임 솔루션을 만듭니다. 한 가지 방법은 Spine 편집기에서 단일 스킨만 만드는 것입니다. 그런 다음 런타임 시 스킨을 복제하고 필요에 따라 이름을 변경하는 코드가 작성됩니다.

스킨 플레이스홀더 제거

스킨 플레이스홀더가 더 이상 필요하지 않은 경우 어태치먼트를 슬롯으로 옮기고 각 스킨 플레이스홀더를 삭제하는 것은 지루할 것입니다. 대신 스킨 플레이스홀더를 선택한 다음 트리 속성에서 삭제를 클릭합니다. 삭제 대화 상자에서 Keep current attachment를 선택합니다. 이렇게 하면 스킨 플레이스홀더를 삭제하기 전에 활성 스킨의 어태치먼트가 슬롯으로 이동됩니다. 다른 스킨의 어태치먼트는 삭제됩니다.

믹스 앤 매치

간단한 프로젝트에서는 스킨을 사용하여 각 스킨이 전체 스켈레톤을 구성할 수 있도록 합니다. 각 스킨이 개별 항목 또는 바디 부분인 더 복잡한 프로젝트에서는 스킨을 사용하여 어태치먼트를 그룹화한 다음 여러 스킨이 한 번에 표시되도록 하여 스켈레톤을 구성합니다. 믹스 앤 매치 예제 프로젝트에서는 이 접근 방식을 사용합니다.

Spine 편집기에서 스킨 뷰를 사용하면 여러 스킨을 동시에 표시할 수 있습니다. 런타임 시, 스킨을 생성한 다음 스켈레톤에 여러 스킨을 추가하여 이 작업이 수행됩니다.

동영상

다음: 제약조건 이전: 경로 어태치먼트