-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
애니메이션 트리거와 불
18.04.01 22:58 작성 조회수 128
0
- Settrigger를 사용해 좌우 화살표로 걷는 캐릭터 애니메이션을 구현했습니다. 대기상태-걷기 애니메이션 전환이 자연스럽게 진행되지만 키 코드를 계속 입력하고 있을 때, 1프레임정도가 순간적으로 대기상태로 돌아갔다가 다시 걷기 애니메이션으로 돌아옵니다.
- 고민 끝에 bool을 사용해 GetKeyDown시 true 상태로 만들고, 아닐경우 false로 만들어서 애니메이션을 재생하도록 시도해보았습니다.
'''
void Update () {
if (Input.GetKey(KeyCode.RightArrow))
{
// 걷기 애니메이션 트리거
GetComponent().Settrigger("walk_t", true);
// 오른쪽으로 이동
gameObject.transform.Translate(Vector3.right * 0.05f);
// 오른쪽을 보고있는 캐릭터를 반대로 뒤집지 않음
GetComponent().flipX = false;
}
}
'''
'''
void Start () {
if (Input.GetKey(KeyCode.RightArrow))
{
// 걷기 애니메이션 불 온
GetComponent().SetBool("walk_bool_right", true);
// 오른쪽으로 이동
gameObject.transform.Translate(Vector3.right * 0.05f);
// 오른쪽을 보고있는 캐릭터를 반대로 뒤집지 않음
GetComponent().flipX = false;
}
else
{
// 아닐경우 불 오프
GetComponent().SetBool("walk_bool_right", false);
}
}
'''
이렇게 했을 때 한쪽 방향으로 이동은 정상적으로 작동하는 것을 확인했지만, 반대 방향으로 똑같이 새로운 bool 값을 만들어서 넣어줬지만 걷기 애니메이션으로 넘어가지 않았습니다. 트리거나 불 어떤 방식이로든 그 이유를 알고 해결하고 싶습니다.
답변을 작성해보세요.
0
스터디 인코딩
지식공유자2018.04.02
글로 봐서는 Animator Controller 의 Transition이 잘못 설정되어있는것으로 보여집니다.
아래쪽 코드는 Start 함수에 작동 코드가 들어있는게 문제일 수 있습니다.
좀더 정확한 상황을 알기위해서 스크린 샷 등 자세한 설명을 부탁 드립니다.
답변 1