애니메이션 리깅 시스템을 이용.
- 믹사모에서 캐릭터를 받아와 하이어라키에 넣고 캐릭터 오브젝트를 선택 후 애니메이션 리깅 -> 본 렌더러 셋업을 눌러서 본을 활성화 시켜 준다.
Rig Setup도 눌러서 Animator, Bone Renderer , Rig Builder를 추가한다.
Rig 오브젝트의 하위 오브젝트로 빈 오브젝트를 만들어서 이름을 원하는대로 바꿔주고 Animation Rigging -> Multi-Aim Constraint 컴포넌트를 추가해준다.
그럼 아래와 같이 컴포넌트가 추가되는데 여기서 Constrained Object에 타겟을 적용할 부위를 넣는다.
예를들어 캐릭터의 얼굴이 어떤 오브젝트를 바라보게 하려면 얼굴부분의 본을 넣으면 된다.
그리고 Source Objects에 캐릭터가 바라볼 대상을 넣으면 이것만 캐릭터가 바라보게 된다.
혹여나 바라볼 대상이 앞뒤로 움직이다보면 캐릭터의 뒤쪽으로도 움직이게 되는데 이때 목이 뒤로 꺾이는 현상이 발생하게 된다.
이를 방지하기 위해 Min Limit, Max Limit을 통해 각도를 조절해준다
그리고 Weight 값을 조절해서 대상을 완전히 바라보게할것인지, 조금만 보게 할것인지, 안보게 할것인지 조절할 수 있다.
@ 간단한 스크립트로 Rig 조절하기
- Rig 컴포넌트 아래에 스크립트를 넣고 실행.
- Rig는 Using UnityEngine.Animations.Rigging; 추가해야함.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations.Rigging;
public class AimTest : MonoBehaviour
{
Rig rig;
public float weight;
private void Awake()
{
rig = GetComponent<Rig>();
}
private void Update()
{
rig.weight = Mathf.Lerp(rig.weight, weight, Time.deltaTime);
if (Input.GetKey(KeyCode.K))
{
weight = 1.0f;
print("K : " + weight);
}
if (Input.GetKey(KeyCode.J))
{
weight = 0f;
print("J : " + weight);
}
}
}
유니티 모바일 최적화하기 (1) | 2024.07.23 |
---|---|
유니티 Foot IK 적용하기 (0) | 2024.07.23 |
애니메이션 리깅(animation rigging) (0) | 2024.07.21 |
절차적 맵 생성 (0) | 2024.07.19 |
UI - 캐릭터 HP 바 만들기 (0) | 2024.07.19 |