fix(BT12-Dev): AnimationController RequireComponent 제거·Enemy.prefab root SR/Animator 폐기·Variant 6 재생성

PD: "몬스터 방향 전환 시 이미지 잘못 출력"

근본:
- AnimationController에 [RequireComponent(SpriteRenderer, Animator)] 잔존
- Enemy.prefab root SR·Animator 제거 시도가 RequireComponent에 의해 차단
- Variant 6 모두 root SpriteRenderer 잔존·AnimationController.spriteRenderer = root
- ComputeVelocity의 flipX = root에 적용·실제 보이는 Visual 자식 SpriteRenderer 영향 X
- 방향 전환 시 sprite flip 안 됨

fix:
1. AnimationController.cs — [RequireComponent] 제거
2. Enemy.prefab base — root SpriteRenderer·Animator 폐기
3. Variant 6 prefab 재생성 (이전 Variant 폐기·신규)
   - Visual 자식 SpriteRenderer.sprite·Animator.runtimeAnimatorController override
4. Scene 16 Enemy instance root SR·Animator 잔존 폐기
5. 결과: AnimationController.spriteRenderer = GetComponentInChildren<SpriteRenderer>() = Visual.SpriteRenderer
   flipX·sprite·Animator 모두 Visual 자식 단일화

회귀 영역 X:
- Visual 자식 SpriteRenderer·Animator·OverrideController 정합
- KinematicObject·Collider·EnemyController patrol 영역 영역 X

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-12 16:15:43 +09:00
parent 4b261c9b8b
commit e38c1a5c12
9 changed files with 38 additions and 243 deletions

View File

@ -9,8 +9,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1658460978237467174}
- component: {fileID: 1577774018119691272}
- component: {fileID: 1605217082131907960}
- component: {fileID: 1702612949800919892}
- component: {fileID: 1724124757368974630}
- component: {fileID: 2651140156555518892}
@ -41,88 +39,6 @@ Transform:
- {fileID: 5065717417517292827}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1577774018119691272
SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1661912868639658944}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 1907945055
m_SortingLayer: 0
m_SortingOrder: 5
m_MaskInteraction: 0
m_Sprite: {fileID: -7548370174848201806, guid: f7b7e5d5d35e8ea4a9574fc970089486,
type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.28, y: 1.26}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_SpriteSortPoint: 0
--- !u!95 &1605217082131907960
Animator:
serializedVersion: 7
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1661912868639658944}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: ed1bbb2dccb7a424a9969f916919f446, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_AnimatePhysics: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!50 &1702612949800919892
Rigidbody2D:
serializedVersion: 5

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &5572688367715317151
--- !u!1001 &7956610293535805103
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,22 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: 34b1bfac0b80cc741817e1d1c2c86f31,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.x
value: 1.1
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.y
value: 1.1
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -32,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.01
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -85,8 +69,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: 34b1bfac0b80cc741817e1d1c2c86f31,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &2265569980554457568
--- !u!1001 &7093608810302805550
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,28 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1577774018119691272, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 4852648563935847630, guid: f8f1bd54f70dc914f9ff6999cff72846,
type: 3}
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: e5e70d98f606ca64d90643db21841521,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.x
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.y
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -38,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -97,8 +75,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: e5e70d98f606ca64d90643db21841521,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &5226775855417390740
--- !u!1001 &3165730005063236659
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,28 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1577774018119691272, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: -480068022978346209, guid: 2cd59e341ddcef747b2fdeed0e184687,
type: 3}
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: f90f4a424e9e1b541a29748d89bee057,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.x
value: 1.2
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.y
value: 1.2
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -38,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.01
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -97,8 +75,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: f90f4a424e9e1b541a29748d89bee057,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &1552948144363872265
--- !u!1001 &686532178037517241
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,28 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1577774018119691272, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 1142325901465378314, guid: 601020362ae2a214298ee67b288426c6,
type: 3}
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: 46aeea3f6e013e842a34104ad2526d1d,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.x
value: 1.1
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.y
value: 1.1
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -38,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.01
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -97,8 +75,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: 46aeea3f6e013e842a34104ad2526d1d,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &8933546376503891061
--- !u!1001 &1941854172692817592
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,18 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1577774018119691272, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 3001420397446177360, guid: f2ccd91debeaa624bb282fbaa4d0153b,
type: 3}
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: 2c1697f640a93cb489770071b1045b66,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -28,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.4
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -87,8 +75,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: 2c1697f640a93cb489770071b1045b66,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &420178185071395397
--- !u!1001 &4830152989046453190
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -8,28 +8,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1577774018119691272, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 5433026174052882790, guid: 115d57f5258ccb74f86354a2cd28045d,
type: 3}
- target: {fileID: 1605217082131907960, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 22100000, guid: b8bc92dcf8f08db4394bda63491268b2,
type: 2}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.x
value: 0.9
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalScale.y
value: 0.9
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.x
@ -38,7 +16,7 @@ PrefabInstance:
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.01
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1658460978237467174, guid: f158aa2be3df6489185ef721f6fd79c1,
type: 3}
@ -97,8 +75,7 @@ PrefabInstance:
value:
objectReference: {fileID: 22100000, guid: b8bc92dcf8f08db4394bda63491268b2,
type: 2}
m_RemovedComponents:
- {fileID: 3839436596391012912, guid: f158aa2be3df6489185ef721f6fd79c1, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []

View File

@ -4341,7 +4341,7 @@ PrefabInstance:
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
@ -4351,27 +4351,27 @@ PrefabInstance:
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 480
objectReference: {fileID: 0}
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 600
objectReference: {fileID: 0}
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 750
objectReference: {fileID: 0}
- target: {fileID: 1561733016117246437, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -300
objectReference: {fileID: 0}
- target: {fileID: 3550758221024711263, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
@ -4491,7 +4491,7 @@ PrefabInstance:
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
@ -4501,27 +4501,27 @@ PrefabInstance:
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 480
objectReference: {fileID: 0}
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 600
objectReference: {fileID: 0}
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 1260
objectReference: {fileID: 0}
- target: {fileID: 6974954132386231314, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -300
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
@ -4531,7 +4531,7 @@ PrefabInstance:
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
@ -4541,27 +4541,27 @@ PrefabInstance:
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 480
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 600
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 240
objectReference: {fileID: 0}
- target: {fileID: 9212598073689065413, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -300
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []

View File

@ -9,7 +9,8 @@ namespace Platformer.Mechanics
/// <summary>
/// AnimationController integrates physics and animation. It is generally used for simple enemy animation.
/// </summary>
[RequireComponent(typeof(SpriteRenderer), typeof(Animator))]
// BT12-Dev 2026-05-12 — Visual 자식 분리: RequireComponent SpriteRenderer·Animator 폐기.
// GetComponentInChildren fallback로 Visual 자식 영역 영역 영역.
public class AnimationController : KinematicObject
{
/// <summary>