-
Notifications
You must be signed in to change notification settings - Fork 1
AnimationController
29thnight edited this page Nov 27, 2025
·
1 revision
간단 설명: 여러 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
|
API Reference
Main
PhysicsSystem
RenderEngine
- Animation
- AnimationJob_Internal
- AnimatorData
- BillboardModuleGPU
- BillboardType
- Camera
- CullingManager
- DeviceState
- DeviceState_Deferred_Unsafe
- Foliage
- LightMapping
- MeshRendererProxy
- PipelineStateObject
- PrimitiveRenderProxy
- Projection_RenderPipelinePass
- ProxyCommand
- RenderGraphBuilder
- RenderModules
- RenderPassData
- RenderScene
- RenderScene_ComponentFlows
- Terrain_Foliage_LightMapping
- TerrainBuffers
ScriptBinder
- ActionMap
- AIManager
- AnchorPreset
- AniBehavior
- AnimationBehviourFatory
- AnimationController
- AnimationState
- Animator
- AniTransition
- ArticulationData
- ArticulationLoader
- AvatarMask
- BehaviorTreeComponent
- BillboardType
- BlackBoard
- BlackBoardType
- BlackBoardValue
- BoneMask
- BoxColliderComponent
- BTBuildGraph
- BTBuildNode
- BTEnum
- BTHeader
- CameraComponent
- Canvas
- CapsuleColliderComponent
- CharacterControllerComponent
- Component
- Component_Binding
- ComponentFactory
- ConditionParameter
- CSharpScriptComponent
- CurvePoint
- DecalComponent
- EBodyType
- EffectComponent
- EForceMode
- FoliageComponent
- FoliageInstance
- FoliageType
- FormIntPtr
- FSMState
- FunctionRegistry
- GameObject
- GameObject_Binding
- GameObjectType
- HotLoadSystem
- IAIComponent
- ImageComponent
- InputAction
- InputActionManager
- InputManager
- InvalidScriptComponent
- IObject
- IProjectSetting
- IRegistableEvent
- IRenderable
- IScriptedFSM
- ISerializable
- KeyArray
- KeyBitFlag
- KeyState
- LightComponent
- LightMapping
- LightProperty
- LinkData
- MeshColliderComponent
- MeshRenderer
- ModuleBehavior
- MonoBehaviorRecord
- MonoManager
- MSBuildHelper
- Navigation
- NodeFactory
- Object
- Object_Binding
- PhysicsManager
- PlayerInputComponent
- Prefab
- PrefabEditor
- PrefabUtility
- RagdollComponent
- RectTransform_Binding
- RectTransformComponent
- RegisterReflect
- RenderableComponents
- RigidBodyComponent
- Scene
- SceneManager
- ScriptStringModule
- SoundComponent
- SoundDefinition
- SoundManager
- SphereColliderComponent
- SpriteRenderer
- SpriteSheetComponent
- StateMachineComponent
- TagManager
- TerrainBuffers
- TerrainColliderComponent
- TerrainComponent
- TextComponent
- TransCondition
- Transform
- Transform_Binding
- Transition
- UIButton
- UIComponent
- UIManager
- VolumeComponent
Utility_Framework
- BaseTypeDef
- Benchmark
- BitFlag
- CircularQueue
- ClassProperty
- Core.Assert
- Core.Barrier
- Core.Coroutine
- Core.CountingSemaphore
- Core.Definition
- Core.Fence
- Core.FenceFlag
- Core.Mathf
- Core.Minimal
- Core.OctreeNode
- Core.Property
- Core.Random
- Core.Runtime
- Core.Thread
- Core.ThreadPool
- CoreWindow
- CSVLoader
- DebugStreamBuf
- Delegate
- DeviceResources
- DirectXHelper
- EngineBootstrap
- FileDialog
- FileIO
- GlobalImGuiContext
- HashingString
- HLSLCompiler
- LinkedListLib
- LogEntry
- LogSink
- LogSystem
- MemoryPool
- MetaAlias
- MetaStateCommand
- MetaUtility
- Octree
- PakHelper
- Paklib
- PathFinder
- QuadTree
- Reflection
- RingBuffer
- SimpleIniFile
- SpinLock
- StringHelper
- TimeSystem
- Trim
- TypeDefinition
- TypeIO
- TypeTrait
- WinProcProxy