애니메이터 레이어(animator Layer)들을 보면 여러개의 레이어를 설정할 수 있는데
- 무기에 맞게 애니메이션을 설정해야 할 때 사용함.
이중에 SetLayerWeight( m , x )를 사용해서 레이어를 온/오프 할수있음
예를들어 아래 경우를 보면 Base Layer를 포함해 총 3개의 레이어가있는데 배열이나 리스트같이 맨위부터 0, 1, 2 이렇게 레이어 인덱스가 설정.
void SwitchAnimationLayer(int layerIndex)
{
for(int i = 1; i < animator.layerCount; i++)
{
animator.SetLayerWeight(i, 0);
}
animator.SetLayerWeight(layerIndex, 1);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
SwitchAnimationLayer(1);
SwitchOn(pistol);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
SwitchAnimationLayer(1);
SwitchOn(revolver);
}
if (Input.GetKeyDown(KeyCode.Alpha3))
{
SwitchAnimationLayer(1);
SwitchOn(autoRifle);
}
if (Input.GetKeyDown(KeyCode.Alpha4))
{
SwitchAnimationLayer(2);
SwitchOn(shotgun);
}
if (Input.GetKeyDown(KeyCode.Alpha5))
{
SwitchAnimationLayer(1);
SwitchOn(rifle);
}
}
- 무기의 오른손 자식으로 무기들을 넣어놓고, 왼손은 IK를 적용시켜서 애니메이션에 따라 오른손이 움직일때, 자동으로 오른손이 총의 방아쇠쪽으로 가고 왼손은 IK 지정한대로 총을 받치거나 잡음.
유니티 마우스 타겟 고정 하기 (0) | 2024.10.12 |
---|---|
유니티 탑다운 게임 개발 Version.1 (1) | 2024.10.10 |
유니티 new input system 뉴 인풋 시스템 이동,애니메이션 구현 (0) | 2024.10.07 |
유니티 Chain Ik, 체인 IK, 애니메이션 리깅 (0) | 2024.10.04 |
유니티 랜덤으로 리스트안의 값을 섞기 (0) | 2024.10.02 |