Unity의 Animation Rigging 패키지를 사용하면 캐릭터가 특정 타겟을 자연스럽게 바라보도록 할 수 있습니다. 이번 글에서는 Multi-Aim Constraint를 활용해 머리와 총 조준 시스템을 구현하는 방법을 알아보겠습니다.
먼저 리그 시스템을 위한 빈 오브젝트를 생성합니다.
GameObject → Create Empty
이름: "Head Aim"
Constrained Object 설정:
조준 축 확인:
소스 오브젝트 설정:
Animation 창에서 Preview 모드를 활성화하여 머리가 타겟을 향해 회전하는지 확인합니다.
GameObject → Create Empty
이름: "Gun Aim"
Gun Aim 오브젝트에 Multi-Aim Constraint 컴포넌트를 추가합니다.
Constrained Object:
조준 축 확인:
Source Objects:
무기와 손의 정렬이 맞지 않을 경우, 무기 홀더의 회전값을 조정합니다:
예시 회전값:
X: -90
Y: 0
Z: 0
마우스 위치나 특정 타겟에 따라 조준점을 동적으로 변경하려면 다음과 같은 스크립트를 사용할 수 있습니다:
public class AimController : MonoBehaviour
{
public Transform aimTarget;
void Update()
{
// 캐릭터 위치 기준으로 조준점 설정
Vector3 aimPosition = new Vector3(
transform.position.x,
transform.position.y + 1f, // 캐릭터보다 약간 위
transform.position.z
);
aimTarget.position = aimPosition;
}
}
이 조준 시스템은 다음과 같은 상황에서 활용할 수 있습니다:
Multi-Aim Constraint를 활용하면 복잡한 수학 계산 없이도 자연스러운 조준 시스템을 구현할 수 있습니다. 이 시스템을 기반으로 더 복잡한 애니메이션 로직을 추가하여 게임의 몰입감을 높여보세요.
Unity의 Animation Rigging 시스템은 이외에도 다양한 제약 조건을 제공하므로, 프로젝트의 요구사항에 맞는 적절한 컴포넌트를 선택하여 사용하시기 바랍니다.