Skip to content

AnimationController

29thnight edited this page Nov 27, 2025 · 1 revision

AnimationController

간단 설명: 여러 AnimationState 및 전이(AniTransition), 마스크(AvatarMask)를 관리하며 현재/다음 애니메이션 재생과 블렌딩을 수행.

주요 책임

항목 설명
상태 관리 상태 생성/조회/삭제 및 AnyState 관리
전이 처리 조건 만족 시 다음 상태로 전환 및 블렌딩 시간 적용
애니메이션 진행 시간 경과/진행도 추적 및 본 행렬 배열 업데이트
마스크 적용 AvatarMask로 상체/하체 등 본 활성 제어
직렬화 JSON 기반 상태/전이/마스크 데이터 저장/로드

핵심 메서드

메서드 설명
SetCurState(stateName) 현재 상태 설정
SetNextState(stateName) 다음 상태 예약
CheckTransition() 전이 조건 검사 후 전이 객체 반환
UpdateState() 상태 변경 및 블렌딩 준비
Update(tick) 시간 갱신/블렌딩/진행도 업데이트
CreateState(stateName, animationIndex, isAny) 새 상태 생성(AnyState 가능)
CreateState_UI() 에디터용 상태 생성
DeleteState(stateName) 상태 제거 및 맵/세트 정리
DeleteTransiton(from, to) 전이 제거
FindState(stateName) 상태 검색
CreateTransition(cur, next) 두 상태 사이 전이 생성
CreateMask() 빈 아바타 마스크 생성
ReCreateMask(mask) 외부 마스크로 재구성
DeleteAvatarMask() 마스크 제거
Serialize() / Deserialize() JSON 직렬화/역직렬화
SetUseLayer(flag) 레이어 기반 사용 여부 설정
IsUseLayer() 레이어 사용 여부 반환

프로퍼티 / 필드

필드 설명
name 컨트롤러 이름
m_curState/m_nextState 현재/다음 상태 포인터
m_owner 소유 Animator
StateVec 상태 공유포인터 배열
m_nameToState 이름→상태 약한포인터 맵
StateNameSet 상태명 중복 방지용 세트
m_nodeEditor 에디터 노드 그래프 포인터
m_anyState AnyState 상태 공유포인터
m_FinalTransforms[512] 최종 본 행렬 캐시
m_LocalTransforms[512] 로컬 본 행렬 캐시
m_avatarMask 아바타 마스크 포인터
진행도 관련 필드 현재/이전/다음 애니메이션 진행도 값들
블렌딩 관련 m_curTrans, blendingTime, 인덱스들
플래그 needBlend, m_isBlend, useController, m_useLayer, useMask, endAnimation

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally