π€ μν λ¨Έμ μΌλ‘ μ AI κ΅¬ν – κ²μ μΊλ¦ν° λλνκ² λ§λ€κΈ°
κ²μμμ μ μΊλ¦ν°κ° λ¨μν μλ€ κ°λ€λ§ νλ κ² μλλΌ, νλ μ΄μ΄λ₯Ό μ«κ±°λ 곡격νκ³ λλ§μΉλ νλμ 보μ¬μ£Όλ©΄ ν¨μ¬ μμ°μ€λ½λ€.
μ΄λ° νλ ν¨ν΄μ ꡬνν λ **μν λ¨Έμ (State Machine)**μ΄ ν΅μ¬μ΄λ€.
1. μν λ¨Έμ (State Machine) κ°λ
-
κ°μ²΄κ° κ°μ§ μ μλ μν(State)μ μ ν(Transition) ꡬ쑰
-
μνλ§λ€ νλμ μ μνκ³ , μ‘°κ±΄μ΄ λλ©΄ λ€λ₯Έ μνλ‘ μ΄λ
-
μμ: μ μΊλ¦ν°
-
Idle (λκΈ°)
-
Patrol (μμ°°)
-
Chase (μΆκ²©)
-
Attack (곡격)
-
2. μν λ¨Έμ κ·Έλ¦Ό
-
Idle → Patrol: μΌμ μκ° ν
-
Patrol → Chase: νλ μ΄μ΄ λ°κ²¬ μ
-
Chase → Attack: 곡격 λ²μ μ§μ μ
-
Attack → Idle/Patrol: νλ μ΄μ΄ λ©μ΄μ§λ©΄
3. Unity C# μμ
4. μν λ¨Έμ νμ© ν
-
νλλ§λ€ μ½λλ₯Ό λλλ©΄ κ°λ μ±↑ μ μ§λ³΄μ↑
-
μ ν 쑰건(Trigger)μ λͺ νν → AI νλ μμΈ‘ κ°λ₯
-
볡μ‘ν AIλ κ³μΈ΅μ μν λ¨Έμ (Hierarchical State Machine) μ μ© κ°λ₯
5. λ§λ¬΄λ¦¬
μν λ¨Έμ μ νμ©νλ©΄,
-
λ¨μ μ΄λ AI → μν©μ λ°λΌ λ€λ₯΄κ² νλ
-
νλ μ΄μ΄ κ²½ν ν₯μ
-
κ²μ λμ΄λ μ‘°μ μ©μ΄
λ€μ κΈμμλ Object PoolingμΌλ‘ κ²μ μ΅μ νλ₯Ό λ€λ€, λ€μ μ κ³Ό ν¬μ¬μ²΄κ° μμ λ μ±λ₯μ μμ μ μΌλ‘ μ μ§νλ λ°©λ²μ μμλ³΄κ² λ€.
λκΈ
λκΈ μ°κΈ°