메시 바인딩 튜토리얼
January 21st, 2020
Spine에서 리깅된 많은 캐릭터는 애니메이션 중에 원근감 또는 시각적인 효과를 주기 위해 캐릭터의 일부 부위에 대한 추가 이미지가 필요합니다. 이러한 새 부위가 메쉬인 경우, 메쉬가 필요한 포즈는 설정 포즈가 아니라 애니메이션에 있기 때문에 메쉬를 뼈에 바인딩하고 가중치를 설정하는 것이 까다로울 수 있습니다. 이 게시물에서는 이 작업을 정확히 수행하는 방법을 다룹니다!
애니메이션 모드에서 바인딩
이 새의 날개를 바인딩하려면 아래 내용을 참고하십시오.
새에 시각적 변화를 주기 위해 아래쪽 날개와 위쪽 날개에 별도의 메쉬를 사용하여 "날개를 퍼덕이는" 애니메이션을 만들려고 합니다. 그러한 변화를 주기 위해 뼈를 추가하고 싶지 않습니다. 뼈를 추가하게 되면 스켈레톤을 뒤죽박죽으로 만들고 두 개의 메쉬가 같은 날개처럼 움직이는 것을 어렵게 만듭니다. 대신 wing
뼈는 양쪽 메쉬를 모두 제어해야 합니다.
우리 새의 경우, 설정 포즈는 위 이미지의 왼쪽과 같습니다. 아래쪽 날개는 body
뼈와 wing
뼈에 바인딩됩니다. wing
뼈가 위아래로 움직이면 메쉬가 변형되어 날개가 퍼덕이는 것처럼 보입니다.
위쪽 날개 메쉬는 다루기 힘듭니다. wing
뼈에서 아래쪽 메쉬를 제어하므로 우리는 wing
뼈에서 위쪽 메쉬의 끝을 제어하기를 원하지만, 설정 포즈에서는 wing
뼈가 위쪽 메쉬의 끝에 위치하고 있지 않습니다. 설정 포즈에서 위쪽 메쉬를 wing
뼈에 바인딩하면 메쉬 제어가 어려워집니다.
이를 해결하는 방법은 뼈를 애니메이션 모드로 바인딩하는 것입니다(Spine 3.8.77 이상이 필요함). 프로젝트를 직접 시도해보시려면 새(bird) 프로젝트를 다운로드하십시오. bird-before.spine
을 연 다음 애니메이션 모드로 이동합니다. 타임 라인 위치를 5프레임으로 옮깁니다. 즉, wing
뼈가 가장 높이 있을 때입니다. 다음으로 Translate
도구를 사용하여 위쪽 날개를 올바른 위치에 배치해야 합니다.
Auto Key
가 활성화된 경우, 위의 이미지와 같이 애니메이션 모드에서 메쉬를 움직이면 변형 키가 생성됩니다. 괜찮습니다, 다음 단계에서는 어느 쪽이든 작동됩니다.
다음으로 Weights
뷰에서 Bind
를 클릭한 후 body
뼈와 wing
뼈를 선택합니다. Weights
도구를 사용하여 wing
에 대한 상단 2개의 정점을 100%로 설정하고 body
에 대한 하단 2개의 정점을 100%로 설정합니다.
이 작업이 완료되면 양쪽 날개 메쉬가 모두 wing
뼈에 의해 제어되므로 메쉬 간에 전환될 때 매우 쉽게 제어할 수 있습니다.
설정 모드에서 위쪽 날개를 표시하면 이상하게 보일 수 있습니다.
이렇게 되는 이유는 애니메이션에서 날개 메쉬가 위로 움직일 때 wing
뼈에 바인딩되어 있지만 설정 포즈에서는 wing
뼈가 아래로 움직이기 때문입니다. 메쉬를 설정 포즈가 아닌 애니메이션의 포즈에 사용하려고 할 경우 설정 모드에서 메쉬가 이상하게 보이는 것은 정상입니다.
바인딩 업데이트
중요한 부분은 뼈가 메쉬에 바인딩될 때 정확한 위치에 있다는 점이며, 이를 "바인딩 포즈"라고 합니다. 뼈가 바인딩 포즈에서 움직일 때, 메쉬의 정점 가중치에 따라 메쉬가 변형됩니다. 뼈가 잘못된 위치에 바인딩되면 어떻게 되는지, 이런 경우 어떻게 수정할 수 있는지 알아보겠습니다.
bird-before.spine
프로젝트로 다시 시작하지만 이번에는 설정 모드에서 위쪽 날개를 보여주고Translate
도구를 사용하여 위쪽 날개를 제자리로 옮깁니다. 위쪽 날개를 body
뼈와 wing
뼈에 바인딩한 다음 아래쪽 날개를 보여줍니다.
다음은 애니메이션 모드로 이동하여 타임 라인 위치를 5프레임으로 옮깁니다. 아직 wing
뼈에 가중치를 설정하지 않았기 때문에 위쪽 날개는 오직 body
뼈와 함께 움직입니다. 하지만 이전과 같이 가중치를 설정하면 원하는 결과를 얻을 수 없습니다.
가중치를 조정할 때마다 정점이 이동하면 이는 뼈가 메쉬에 바인딩된 이후 이동되었음을 의미합니다. 이 경우 wing
뼈는 바인딩된 위치에서 위로 이동되었으므로, wing
뼈에 가중치가 부여되면 정점은 위로 이동합니다.
Weights
뷰의 Update Bindings
버튼이 이 상황에 도움이 될 수 있습니다! 클릭하면 현재 뼈 위치와 메쉬 정점 위치를 사용하여 뼈의 바인딩 포즈를 재설정합니다. 그 후에 가중치가 변경될 경우 정점은 이동하지 않습니다.
Spine에서 뒤로 이동하여 애니메이션 모드의 5프레임에서 Update Bindings
를 클릭한 다음 wing
뼈의 가중치를 설정합니다. 정점이 이동하지 않음을 알 수 있으며 최종 결과는 이 위치에 뼈를 바인딩한 것과 같습니다.
팁 및 실수 수정
메쉬에 영향을 주지 않고 메쉬에 바인딩된 뼈의 포즈를 조정해야 할 수도 있습니다. 그렇게 하려면 이미지 보정을 활성화하고 뼈를 조정하십시오.
메쉬의 모든 가중치를 다시 실행해야 할 수도 있습니다. 그렇게 하려면 트리 하단의 메쉬 속성에서 Reset
를 클릭하십시오. 그러면 모든 가중치가 제거되고 메쉬가 변형되지 않도록 재설정됩니다. 현재 정점 위치를 유지하려면 Reset
를 사용하지 않고 Weights
뷰에서 뼈를 제거할 수 있습니다.
메쉬에 바인딩된 뼈의 바인딩 포즈 키를 입력하는 애니메이션을 만드는 것이 도움이 될 수 있습니다. 이를 통해 새로운 뼈를 추가하거나 메쉬의 가중치를 다시 적용하기 위해 바인딩 포즈로 돌아갈 수 있습니다. 새(bird) 프로젝트에서는 5프레임으로 이동하여 이 작업을 수행할 수 있지만, 이는 기억하기 쉽지 않을 수 있으며 나중에 5프레임의 뼈가 이동될 수도 있습니다.
결론
뼈를 바인딩하고 가중치를 설정하는 것이 약간 까다로울 수 있지만 강력한 기능입니다. 애니메이션 중간에 서로 다른 메쉬를 표시하는 경우가 흔히 있으며 위에서 설명한 워크플로를 통해 이 작업을 아주 쉽게 수행할 수 있습니다.
이 글이 여러분에게 흥미로운 정보가 되시길 바라며 Spine 포럼에서 계속해서 토론하고 싶습니다.