언어:
페이지 정보
수준별:
엔진 버전:
언리얼 엔진

싱크 그룹

언리얼 엔진

Sync Group (싱크 그룹)은 길이가 달라도 연관성이 있는 애니메이션 동기화 상태를 유지시켜줍니다. 예를 들어 걷는 주기와 달리는 주기를 서로 블렌딩하여 캐릭터가 부드럽게 가속 내지 감속되도록 하고 싶습니다. 그런데 걷기 애니메이션의 주기가 달리기 애니메이션의 주기보다 많이 길다면? 걷기가 달리기보다 현저하게 길다든지 말이죠? 그러한 경우에 그 둘을 직접 블렌딩하면, 발 애니메이션 전환시 추하게 펄떡거린다든가 하는 자연스럽지 못한 결과가 나게 됩니다.

싱크 그룹은 주요 애니메이션 노드 하나를 Leader (리더)로 삼고, 관련된 다른 모든 애니메이션은 단순히 길이에 스케일을 적용하여 일치시키는 방법으로 이 문제를 해결합니다. 전형적으로 리더는 블렌드 웨이트가 가장 큰 노드가 됩니다. 웨이트를 블렌딩시키면서 Follower (팔로워)의 웨이트가 리더를 넘어서게 되면, 그 팔로워는 리더가 됩니다. 이런 식으로 두 애니메이션이 부드럽게 돌아가면서 동작이 부드럽게 전환되는 것입니다.

그러나 한 가지, 애니메이션의 시간이 변하고 있기 때문에 애니메이션에서 고려해야할 부분이 몇 가지 생깁니다. 주기가 다른 걷기와 달리기 사이의 블렌딩 예제에서, 모든 애니메이션이 같은 발에서 시작되고 끝나도록 해 주는 것이 좋습니다. 이러한 기준을 일찍서부터 정해 둬야 블렌딩이 훨씬 수월해 질 것입니다!

그룹 역할: 리더와 팔로워

싱크 그룹은, 한 애니메이션이 리더 가 되고 다른 모든 애니메이션은 팔로워 가 된다는 그룹 역할 개념하에 작동합니다.

리더

  • 모든 팔로워에 사용되는 마스터 애니메이션 길이를 제공합니다.

  • 모든 노티파이가 실행됩니다.

팔로워

  • 애니메이션 길이에 스케일을 적용하여 리더에 맞춥니다.

  • 노티파이를 억제시키고 리더의 노티파이로 미룹니다.

리더와 팔로워는 단순히 어느 애니메이션의 블렌드 웨이트가 높은가에 따라 결정됩니다. 다음 예제가 그렇습니다:

이미지

설명

diagram_RunAnimation.png

원래 크기의 달리기 애니메이션이 WalkRun 이라는 이름의 싱크 그룹에 설정됩니다.

diagram_WalkAnimation.png

원래 크기의 걷기 애니메이션이 마찬가지로 WalkRun 이라는 이름의 싱크 그룹에 설정됩니다.

diagram_walkAnimationScaledDown.png

이 경우, 달리기 애니메이션의 블렌드 웨이트가 걷기 애니메이션보다 클 것입니다. 같은 싱크 그룹에 있기 때문에, 걷기 애니메이션의 스케일을 낮춰 달리기 애니메이션 길이에 맞춥니다.

diagram_RunAnimationScaledUp.png

여기서는, 걷기 애니메이션이 블렌드 웨이트를 더 크게 받도록 가중치가 전환되었습니다. 이로 인해 달리기 애니메이션의 스케일을 높여 걷기 애니메이션 길이에 맞추도록 합니다.

싱크 그룹 설정하기

싱크 그룹을 설정하려면, 애님 그래프에서 애니메이션 노드를 선택한 다음 디테일 패널을 봅니다. Sync Group (싱크 그룹) 프로퍼티가 보일 것입니다.

AnimationSyncGroup.png

프로퍼티

설명

Group Name

그룹 이름 - 싱크 그룹 이름을 입력하는 곳입니다. 일반적으로 블렌딩하고자 하는 관련된 모든 (살짝 걷기, 걷기, 달리기, 전력질주와 같은 몸동작) 애니메이션은 같은 싱크 그룹에 넣어주는 것이 좋습니다.

Group Role

그룹 역할 - 그룹의 멤버쉽 유형을 설정할 수 있는 곳입니다. 사용할 수 있는 값은 "Can Be Leader" (리더 가능, 기본값), "Always Leader" (항상 리더), "Never Leader" (리더 아님) 입니다.

싱크 그룹은 애님 그래프 또는 스테이트 머신에서 AnimSequence (애님 시퀀스)나 BlendSpace (블렌드 스페이스) 노드에 설정할 수 있습니다.

마커 기반 애니메이션 동기화

Sync Group(싱크 그룹)에 추가로, 애니메이션 내 마커를 사용하여 애니메이션을 동기화시킬 수도 있습니다.

AddSyncMarker.png

Sync Marker(싱크 마커)를 추가하려면, 애니메이션 시퀀스의 애니메이션 노티파이 트랙 안에서 우클릭하고 Add Sync Marker (싱크 마커 추가)를 선택합니다.

싱크 마커 작업 시 고려할 요소가 몇 가지 있습니다:

  • 같은 싱크 그룹 내 애니메이션만 동기화되며, 같은 싱크 그룹 내 팔로워 위치를 리더가 구동시킵니다.

  • 재생 속도는 항상 마스터 애니메이션과 같습니다 (현재 재생 속도는 조절할 수 없습니다).

  • 한 그룹 내 모든 애니메이션에 공통인 마커만 동기화됩니다.

    • 예를 들어, 한 애니메이션에 "Right Foot Down" 마커가 없는 경우, 그 마커는 해당 프레임 위치를 결정할 때 모든 애니메이션에 무시됩니다.

  • 위치 동기화는 리더 공통 마커를 기준으로 한 리더의 상대 위치에 따릅니다.

    • 예를 들어, 리더가 왼쪽/오른쪽 발 마커 25% 지점쯤에 있다면, 팔로워는 각자의 왼쪽/오른쪽 마커 25% 지점으로 동기화됩니다.

  • 마커 기반 동기화는 싱크 그룹에 있는 애니메이션에 일치하는 마커가 충분히 있을 때 자동으로 사용되며, 그렇지 않으면 원래 스케일 길이의 동기화 작동방식이 사용됩니다.

  • 애님 몽타주 역시 블렌딩 아웃 도중 마커 기반 동기화를 지원하므로, 다른 애니메이션으로 매끄럽게 전환해 나갈 수 있습니다.

    • 싱크 그룹 세팅은 애님 몽타주의 애셋 디테일 패널에서 찾을 수 있습니다.

싱크 마커는 애니메이션 안에 애니메이션 모디파이어NEW! 셋업 및 적용을 통해 자동 추가할 수도 있습니다.