일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Animation State Machine
- 2D슈팅게임
- apk
- 프리팹
- Blend Type
- CSharp #자료구조
- Vector3
- Hp바
- raycasting
- 일시정지
- Hpbar
- rotation
- Prefabs
- 스크롤링
- 플레이어 방향전환
- Object Poling
- joystick
- Parallax
- rigidbody
- Ainimation Blending
- Unity
- 오브젝트 풀링
- LayerMark
- 유니티
- 플레이어 이동
- Transform
- Scrooling
- raycast
- 패럴렉스
- Object Pooling
- Today
- Total
주녘공부일지
[더 챌린저스] 캐릭터 애니메이터 스테이트 관리 고찰 본문
캐릭터 애니메이터 스테이트 관리 고찰
복잡한 구조도를 가능한 편하게 확인하고 수정할 수 있도록 특정 모션들은 서브 머신으로 묶어서 관리
- 특히 Any State로 사용할 필요가 있는 Dash, Die, Skill(Attack) 등의 모션은 특히 신경써서 처리
-> 해당 트랜지션의 조건 파라미터만 충족하면 어느 상태든 넘어가버리기 때문에 불 변수와 트리거 변수를 이용해 더블체크
1) 파라미터 분류 규칙
- IsXX 변수 (Bool) : 해당 상태로 전환할 수 있다는 의미
-> 서브 스테이트 모션으로 전환, 탈출 조건 등에 사용
- XXState 변수 (Bool) : 해당 상태라는 의미
-> 중복으로 같은 스테이트에 들어가지 않게 하기 위한 조건 등에 사용
- XXTrigger 변수 (Trigger) : 해당 상태로 전환하라는 의미
-> 보통 bool변수와 함께 사용되며, AnyState로 연결된 트랜지션 조건에는 무조건 사용
- 기타 (int) : 방향 값이나 고유한 번호를 받기 위해 사용
-> SkillType : 스킬 고유 번호 // DirX : X축 방향 값 ( -1, 0, 1 )
2) Sub State Machine - Jump
점프 상태의 돌입과 끝을 관리하는 서브 스테이트
- 초기에는 JumpAttack은 다른 서브스테이트머신(Attack)에 두고 점프 모션도 BaseLayer에 있었지만,
- 점프상태에서만 할 수 있다는 점과 착지모션 추가, 점프업다운상태 분리 등의 분할된 모션이 증가된 이유로 서브 스테이트로 묶어서 관리함
3) Sub State Machine - Attack
기본공격 3타와 스킬을 관리하는 서브 스테이트
- 기본 공격은 반드시 3타를 하지 않아도 1타, 2타 직후에 공격 키가 입력상태가 아니라면 Idle, Move 상태로 전환할 수 있음 ( 단, 살짝의 딜레이 존재 )
flow) 공격 키 입력 상태 판단 -> 공격 사용가능 여부 판단 -> 공격 불 타입 True -> 공격 1회 트리거 On
- Skill은 캐릭터별로 지정된 스킬번호를 가지고 있음
flow) 스킬 사용가능 여부 판단 -> 스킬 번호 세팅 -> 스킬 트리거 On
4) Sub State Machine - Hit
히트 상태에서의 보정, 히트 상태에서의 착지, 일어나는 모션 등을 관리하는 서브 스테이트
- 다단 히트가 가능한 게임으로써 히트 모션이 여러개 필요해 Hit 모션에서 Hit가 들어오면 다른 모션이 재생되게 하였고 트리거를 히트 1회로 처리했음
- 히트를 당해 공중에 떠있는 상태와 캐릭터가 스스로 공중에 떠있는 상태(점프키 입력)에 대한 파라미터 변수는 공용으로 사용
'GameEngine > Unity - Project' 카테고리의 다른 글
[더 챌린저스] 게임 플레이 영상 (0) | 2023.08.20 |
---|---|
[컴공생 키우기] 미니게임 (0) | 2023.08.16 |
[더 챌린저스] 캐릭터 (0) | 2023.08.04 |
[더 챌린저스] 캐릭터 애니메이션 제어 (0) | 2023.07.31 |
[더 챌린저스] 동기화되는 오브젝트 (0) | 2023.07.28 |