안녕하세요~ ITSkeleton 입니다.
이번에는 저번에 적어드린 것처럼 Animator에 대한 설명을 하려고 합니다.
많은것을 지원해주기때문에 어려운 부분은 없을것으로 예상합니다.
이것은 제가 만든 Animator입니다. 우주선에 관한 애니메이션들인데요.
먼저 Entry는 반드시 Default state를 가집니다.
애니메이션 동작시 맨처음으로 작동할 애니메이션을 선택하는 것이지요.
주황색으로 표시된것은 막을수 없습니다. (Default state)
그 다음으론 클립들이 존재합니다. 총 5개가 있지요? idle, fly, up, down, flydown
자, 이제 흰색선들이 여기저기 연결되어있는것이 보이시나요?
저기에 화살표 방향으로 다음 애니메이션을 선택할수있습니다.
저기 보이는 그대로 간다면 Idle로 간 애니메이션이 Fly 나 FlyDown, Down으로
만약 Fly로 갔다면 다음은 FlyDown으로 넘어갑니다.
Idle에서 갈수있는 방향이 3개나 되죠? 그럼 저것을 제어해 주어야 합니다.
조건문을 걸게 되는것이죠. 조건을 거는 방법은 간단합니다.
왼쪽 화면을 보시면 Parameters 라는 창이 존재합니다.
눌러보시면 처음엔 아무런 글도 적혀있지 않습니다.
저 창 오른쪽 위에 + 버튼이 보이시나요? 저걸 클릭해 줍니다.
네가지가 존재합니다. Float 소수 , Int 정수 , Bool 참거짓 , Trigger 충돌
쓰이는 방법은 예상이 되시죠?
저는 Bool을 사용하여 제어를 했습니다.
체크가 되어있지 않으면 거짓, 체크가 되어있으면 참 입니다.
흰색 선을 선택해보면
Inspector 창에 저런 화면이 나타납니다. Parameters에 만든 값을 가져와서 조건을 걸어야 겟지요?
창 아래 Conditions 가 보이시나요 저기에 +를 누르시면 추가할수있는 창이 나옵니다.
만들어진 모든 Parameters가 전부 나옵니다. 적당한것을 선택하면 추가가 됩니다.
저는 Fly 라는 Bool Parameters를 가져와서 true일때만 작동하도록 만들었습니다.
아, 객체는 제가 전에 올린 Sprite Animation 부분을 이어서 하시면 바로 볼 수 있습니다.
자~ 이제 실행을 시켜봐야 겟지요??
코드는
public GameObject ship; //우주선 객체를 가져옵니다.
Animator shipanim;
void Start()
{
shipanim = ship.GetComponent<Animator>(); //우주선의 애니메이터를 가져옵니다.
}
void Update()
{
shipanim.SetBool("Fly", true); //이코드로 Fly를 true로 만들어 줍니다.
}
이렇게 작성하시면 Fly가 참 이되면서 작동을합니다. 화살표를 만드는 방법은 저사각형을 마우스 오른쪽 클릭하시면 Make Transition 이 보이실겁니다.
클릭하면 선이 나타납니다~
순서가 잘못된거 같지만 선을 클릭하시면 위의 그림을 볼수있습니다.
저 코드를 조금더 활용한다면 여러 애니메이션을 작동할수 있습니다.
더 궁금하신 사항이 있다면 Comment를 달아주세요~ 감사합니다~
유튜브 영상
https://www.youtube.com/channel/UCuhamVaQCtATPaEdYX-kM5Q