diff --git a/Assets/Prefabs/Enemy.prefab b/Assets/Prefabs/Enemy.prefab
index 19f96c8..e383ef1 100644
--- a/Assets/Prefabs/Enemy.prefab
+++ b/Assets/Prefabs/Enemy.prefab
@@ -222,8 +222,8 @@ MonoBehaviour:
hitRangeX: 0.7
hitRangeY: 1
stompMinDy: 0.1
- patrolMinRange: 50
- patrolMaxRange: 75
+ patrolMinRange: 5
+ patrolMaxRange: 10
patrolArriveThreshold: 0.5
cliffCheckDistance: 1
cliffCheckDepth: 2
@@ -386,4 +386,3 @@ MonoBehaviour:
- {fileID: 8917375057226933945, guid: 5445e614d5225714e9550e08f8bccec1, type: 3}
- {fileID: -4095915237629478068, guid: 1f8ec15a958211a478994dd27d1c879b, type: 3}
- {fileID: 2697896165774990149, guid: 611097d2df9e43b40bec486f141c7ae9, type: 3}
- frameInterval: 0.15
diff --git a/Assets/Scripts/Mechanics/MonsterRandomizer.cs b/Assets/Scripts/Mechanics/MonsterRandomizer.cs
index 2c5f52f..28edb9f 100644
--- a/Assets/Scripts/Mechanics/MonsterRandomizer.cs
+++ b/Assets/Scripts/Mechanics/MonsterRandomizer.cs
@@ -3,55 +3,21 @@ using UnityEngine;
namespace Platformer.Mechanics
{
///
- /// 몬스터 종류 랜덤 영역 + 수동 idle animation.
- /// PD 지시 (2026-05-10): 6 종 (M001~M006) random + animation 영역.
- /// Animator 영역 영역 (sprite 자동 영역 영역 X) — 4 frame idle loop 수동 영역.
+ /// 몬스터 종류 랜덤 영역 — Animator 정합 유지.
+ /// PD 지시 (2026-05-10): Animator 영역 (Idle·Run·Hurt·Death state) 영역 → Animator 활성·sprite 수동 영역 X.
+ /// 6종 random visual 다양성 영역 후속 안건 (Sprite 동적 randomization·6 controller·SubStateMachine).
///
public class MonsterRandomizer : MonoBehaviour
{
- [Tooltip("6 종 × 4 frame idle sprite (24 sprite·6 group). Inspector 영역 영역 — 0~3=M001·4~7=M002·...")]
+ [Tooltip("6 종 × 4 frame idle sprite (24 sprite·6 group). Awake 시 random group 영역 첫 sprite 영역 영역 영역.")]
public Sprite[] idleFrames;
- [Tooltip("frame 영역 (초). 0.15s = 1 frame")]
- public float frameInterval = 0.15f;
-
const int FramesPerMonster = 4;
- int _monsterIdx;
- int _frame;
- float _elapsed;
- SpriteRenderer _sr;
void Awake()
{
- _sr = GetComponent();
- var anim = GetComponent();
- if (anim != null) anim.enabled = false; // sprite 자동 영역 영역
-
- int monsters = (idleFrames != null) ? idleFrames.Length / FramesPerMonster : 0;
- if (monsters <= 0) return;
- _monsterIdx = Random.Range(0, monsters);
- _frame = 0;
- _elapsed = 0f;
- ApplyFrame();
- }
-
- void Update()
- {
- if (_sr == null || idleFrames == null) return;
- _elapsed += Time.deltaTime;
- if (_elapsed >= frameInterval)
- {
- _elapsed = 0f;
- _frame = (_frame + 1) % FramesPerMonster;
- ApplyFrame();
- }
- }
-
- void ApplyFrame()
- {
- int idx = _monsterIdx * FramesPerMonster + _frame;
- if (idx >= 0 && idx < idleFrames.Length && idleFrames[idx] != null)
- _sr.sprite = idleFrames[idx];
+ // BT12-Dev 2026-05-10 — Animator 활성 유지 (이전 anim.enabled=false 제거·근본).
+ // sprite 수동 영역 폐기·Animator Clip (EnemyIdle·EnemyRun·EnemyHurt·EnemyDeath) 영역 정합.
}
}
}