728x90
반응형
이제 애니메이터 컨트롤러에 등록한 애니메이션들을 스크립트로 컨트롤 하겠습니다
Scripts 폴더안에 PlayerAni 스크립트를 만듭니다
Player를 선택하고 PlayerAni 스크립트를 붙힘니다
PlayerAni.cs 에서 만든 함수를 PlayerFSM 에서 활용해 보도록 하겠습니다
//PlayerFSM 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerFSM : MonoBehaviour
{
public enum State
{
Idle,
Move,
Attack,
AttackWait,
Dead
}
//idle 상태를 기본 상태로 지정
public State currentState = State.Idle;
PlayerAni myAni;
void Start()
{
myAni = GetComponent<PlayerAni>();
// myAni.ChangeAni(PlayerAni.ANI_WALK);
ChangeState(State.Idle, PlayerAni.ANI_IDLE);
}
void ChangeState(State newState, int aniNumber)
{
if (currentState == newState)
{
return;
}
myAni.ChangeAni(aniNumber);
currentState = newState;
}
//캐릭터의 상태가 바뀌면 어떤 일이 일어날지 를 미리 정의
void UpdateState()
{
switch (currentState)
{
case State.Idle:
break;
case State.Move:
break;
case State.Attack:
break;
case State.AttackWait:
break;
case State.Dead:
break;
default:
break;
}
}
// Update is called once per frame
void Update()
{
UpdateState();
}
}
//PlayerAni 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerAni : MonoBehaviour
{
// 애니메이터 컨트롤러의 전이 관계에서 설정한 번호에 맞춤니다
public const int ANI_IDLE = 0;
public const int ANI_WALK = 1;
public const int ANI_ATTACK = 2;
public const int ANI_ATKIDLE = 3;
public const int ANI_DIE = 4;
Animator anim;
void Start()
{
anim = GetComponent<Animator>();
}
//애니메이션 번호를 입력 받아서 플레이어의 애니메이션을 해당되는 애니메이션으로 바꿔주는 함수
public void ChangeAni(int aniNumber)
{
anim.SetInteger("aniName", aniNumber);
}
// Update is called once per frame
void Update()
{
}
}
스크립트를 작성하고 게임을 실행시키면 플레이어가 Idle 상태로 됩니다
반응형
'게임 만들기 강좌 > 유니티 3D RPG 게임만들기' 카테고리의 다른 글
unity 유니티 게임 만들기 RPG 게임만들기 7 Player Camera following (0) | 2019.06.28 |
---|---|
unity 유니티 게임 만들기 RPG 게임만들기 6 Player 이동 하기 캐릭터 이동 시키기 (4) | 2019.06.27 |
unity 유니티 게임 만들기 RPG 게임만들기 4 캐릭터 FMS 및 add Animation (2) | 2019.06.25 |
unity 유니티 게임 만들기 RPG 게임만들기 3 캐릭터 InputManager 만 들기 클릭이동 Click Move (1) | 2019.06.24 |
unity 유니티 게임 만들기 RPG 게임만들기 2 Player Character 생성 및 Animator Controller (0) | 2019.06.23 |