도달

역운동학과 대상 변경에서의 도달 개념은 약간 다릅니다.

역운동학

역운동학 솔버를 사용하는 경우 도달은 캐릭터의 원래 FK 자세와 HIKEffectorSetState에서 정의한 대상 점 사이의 혼합을 제어합니다.

각 이펙터에는 두 개의 도달 값이 있습니다. 변환을 제어하는 값과 회전을 제어하는 값입니다.

변환 도달

변환 도달은 역운동학 솔버에서 생성된 관절 위치가 원래 FK 위치, 이펙터의 위치 또는 두 극단 사이의 위치에 있는지 제어합니다.

 

예를 들어 왼쪽 이미지에서 녹색 로케이터는 왼쪽 손목 관절에 해당하는 이펙터를 나타냅니다.

변환 도달 값이 0이면 역운동학 솔버에서 왼쪽 손목에 대해 계산한 위치가 FK 위치(노란색 골격으로 표시)로 유지됩니다.

 

최대 변환 도달 값을 사용하면 역운동학 솔버는 관절을 이펙터의 위치에 배치하고 원래 FK 위치를 완전히 무시합니다.

두 극단 사이의 값은 FK 자세와 IK 대상의 위치를 혼합합니다.

회전 도달

회전 도달은 변환 도달과 정확하게 유사하지만 역운동학 솔버에서 생성한 관절의 회전이 원래 FK 자세로부터의 관절의 방향, 이펙터의 방향 또는 두 극단 사이에 있는 방향을 사용하는지 제어합니다.

 

예를 들어 왼쪽 이미지에서 녹색 로케이터는 회전되며 왼쪽 손목 관절에 대해 원하는 방향을 지정합니다.

회전 도달 값이 0이면 역운동학 솔버에서 왼쪽 손목에 대해 계산한 회전이 원래 FK 값(노란색 골격으로 표시)으로 유지됩니다.

 

최대 회전 도달 값을 사용하면 역운동학 솔버가 동일한 매트릭스에 대한 관절을 이펙터로 회전하고 원래 FK 회전은 완전히 무시합니다.

두 극단 사이의 값은 FK 자세와 IK 대상의 회전을 혼합합니다.

변환 도달과 회전 도달 결합

변환 도달과 회전 도달을 결합하여 캐릭터의 관절을 원래 FK 위치 또는 장면의 특정 위치나 항목에 고정할 수 있습니다.

이펙터에 대한 변환 도달 및 회전 도달 값을 최대값으로 설정하는 경우, 역운동학 솔버가 캐릭터의 새 자세를 계산할 때 관절의 원래 위치와 회전을 전혀 고려하지 않습니다. 이 설정을 사용하면 관절을 게임의 항목이나 위치의 회전 및 위치로 고정할 수 있습니다.

이펙터에 대한 변환 도달 및 회전 도달 값을 모두 0으로 남겨 두면 이펙터가 어떤 위치와 회전을 사용하든 역운동학 솔버는 해당 이펙터를 향해 해당 관절을 전혀 이동하려 하지 않습니다. 이 설정을 사용하면 관절을 효과적으로 원래 위치와 회전에 고정할 수 있습니다.

그러나 두 경우 모두 관절이 다른 관절의 당기기로 인해 이동할 수 있습니다. 당기기을(를) 참조하십시오.

도달 애니메이션

많은 일반적인 HumanIK 사용은 캐릭터의 팔 다리가 특정 지점에 닿게 하거나 특정 시점에 특정 항목과 상호 작용하도록 하기 위해 시간에 따라 애니메이션을 조정하는 것과 관련되어 있습니다. 문 손잡이를 잡으려고 손을 뻗는 캐릭터가 그 예입니다.

이 상황에 대한 일반적인 방법은 적절한 이펙터의 변환과 회전을 원하는 최종 위치로 설정하고(이 경우 오른쪽) 도달 설정을 애니메이션하여 각 프레임에서 늘리는 것입니다. 첫 프레임의 도달 값은 0으로 시작하고 원래 순운동학 애니메이션은 변경하지 않은 채로 남겨 두어야 합니다. 캐릭터 움직임의 마지막 프레임에서는 도달 컨트롤이 최대값에 도달하여 캐릭터의 손을 마지막 목표로 그려야 합니다. 그 사이의 각 프레임에서는 도달 컨트롤을 0에서 최대값 사이의 보간된 값으로 설정하여 목표를 향해 부드러운 움직임이 만들어지도록 해야 합니다.

대상 변경

대상 변경 솔버를 사용하는 경우 도달은 소스 애니메이션과 대상 캐릭터 간에 가장 중요한 접점을 결정합니다. 3D 공간에서 두 캐릭터 사이에서 동기화되어야 하는 관절이 그 예입니다. 때로는 이러한 접점이 엉덩이이며 또는 애니메이션을 다른 크기나 배율의 캐릭터로 대상 변경하는 경우에는 발입니다. 기본적으로 HumanIK 대상 변경 솔버는 소스와 대상 사이의 접점으로 발을 사용합니다.

 

예를 들어 왼쪽 이미지에서 원래 애니메이션이 빨간색 골격으로 표시됩니다. 더 작은 캐릭터로 대상이 변경된 경우에는 도달 설정에서 발을 가장 중요한 접점으로 만들어야 합니다.

 

그러나 애니메이션이 공중 그네를 잡는 것과 관련된 경우 발을 접점으로 사용하는 것은 적절하지 않습니다. 대상 캐릭터가 더 작기 때문에 그 발이 원래의 더 큰 애니메이션에서 발의 변환으로 고정되면 허공에 매달린 것처럼 나타납니다.

 

이 경우 손을 소스와 대상 사이의 접점으로 설정하면 캐릭터가 공중 그네를 잡는 것처럼 나타나도록 할 수 있습니다.

도달 애니메이션

캐릭터의 여러 다른 노드의 위치와 방향에 대해 도달 설정을 지정할 수 있습니다. 대상 변경 솔버는 이러한 모든 도달 설정의 경쟁적인 요구 사항을 균형있게 조정하여 마지막으로 생성된 자세를 원래 애니메이션의 위치에 정렬하는 방법을 결정합니다. 서로 다른 도달 설정 간의 균형 조정을 통해 시간 경과에 따라 접점을 혼합할 수 있습니다. 예를 들어 위 예제의 캐릭터가 서 있는 자세로 시작하여 공중 그네를 잡기 위해 위로 뛰어 오르는 경우 도달 설정은 발 접점의 우선 순위 결정으로 시작하여 점차 애니메이션이 공중 그네를 잡도록 되어 있는 시점에 손 접점의 우선 순위 결정으로 이동해야 합니다.