- Bearbeitet
4.0에서 IK의 알고리즘이 변한 것일까요??
3.8.99 버전에서 작업한 데이터를 4.0 버전에서 불러왔는데, IK를 적용시킨 부분들이 3.8 버전하고 조금씩 다르게 보이는 이슈가 발생했습니다.
이를 테면 늘이기(stretch) 옵션이 체크되어 있는 부분이 어긋나 있던가 하는 문제 등등...
일일이 수정은 하긴 했는데...혹시 IK의 구조가 3.8 버전과 4.0버전이 달라졌을까요?
Sorry you are having trouble. Can you please show the problem you are seeing? Screenshots would help, but even better would be a project file that shows up in 4.0 differently than it does in 3.8.
번거로우시겠지만 죄송합니다. 당신이보고있는 문제를 보여 주시겠습니까? 스크린샷이 도움이 되지만 3.8에서와 다르게 4.0에서 표시되는 프로젝트 파일이 더 좋습니다.
3.8.99 에서 작업한 데이터를 올려놓았습니다.
현재 개발 중인 게임이기 때문에 보안 상 이미지는 대부분 비어있습니다.
왼쪽의 화면은 3.8.99에서 작업한 캐릭터의 다리 부분입니다. 작업자가 의도한 위치 그대로 출력이 잘 되고 있습니다.
오른쪽은 이 작업물을 4.0.55에서 열었습니다. 저렇게 다리의 윗부분이 어긋나게 됩니다.
4.0.55에서 작업물에 적용되어 있는 IK의 늘이기(Stretch)를 끄면 다시 원래 위치로 돌아갑니다. 하지만 늘이기(Stretch)를 끄게 되면 작업자가 의도한 애니메이션을 할 수 없게 됩니다.
스파인 파일을 전달드립니다. 3.8.99에서 작업한 것이고 이것을 꼭 3.8.99버전과 4.0.55 버전에서 각각 열어서 확인부탁드립니다.
Thank you for providing the project showing the problem. In 4.0+ for two bone IK the child IK bone's local Y translation is set to 0 when stretch is enabled. This is required to prevent incorrect IK behavior. In 3.8.99 when the child IK bone's local Y is not 0 then the IK bones don't point at the IK target bone, which is not right.
문제를 보여주는 프로젝트를 제공해 주셔서 감사합니다. 4.0+ for two bone IK에서 자식 IK 뼈의 로컬 Y 변환은 stretch가 활성화될 때 0으로 설정됩니다. 이는 잘못된 IK 동작을 방지하는 데 필요합니다. 3.8.99에서 자식 IK 뼈대의 로컬 Y가 0이 아니면 IK 뼈대가 IK 대상 뼈대를 가리키지 않습니다. 이는 올바르지 않습니다.
There are a few limitations when using stretch or scale with IK, described here:
여기에 설명된 대로 IK와 함께 늘이기 또는 배율 조정을 사용할 때 몇 가지 제한 사항이 있습니다.
IK 제약조건 - Spine 사용자 가이드: 늘이기
And here:
그리고 여기:
IK 제약조건 - Spine 사용자 가이드: 제한 사항
You can likely work around the limitation by adding an extra bone and moving your lower leg attachment to it. You can then move the extra bone to position the attachment like you need.
추가 뼈를 추가하고 다리 아래쪽 부착물을 뼈에 이동하여 제한을 해결할 수 있습니다. 그런 다음 추가 뼈를 이동하여 필요에 따라 부착물을 배치할 수 있습니다.
To Nate
답변 감사드립니다. 많은 도움이 되었습니다. 향후 작업할 때 참고하도록 하겠습니다~!!