Tìm hiểu Enemy AI (Agents)
· about 1 min readTìm hiểu Enemy AI (Agents)
Tổng quan các thành phần
- AIBrain (MonoBehaviour): Chứa danh sách State, nhiệm vụ chính là định kỳ kích hoạt CurrentState.PerformActions() và CurrentState.EvaluateTransitions()
- AIState [Serializable]: Chứa danh sách Actions (để perform nếu là CurrentState ở Brain). Chứa danh sách Transition để phụ vụ EvaluateTransitions() để chuyển sang State khác dựa vào Transitions[i].Decision
- AITransition [Serializable]: Đơn giản chỉ chứa AIDecision (trả về true/false) và StateTrue + StateFalse để quyết định sẽ di chuyển sang State nào.
- AIDecision (MonoBehaviour): Chứa Decide() trả về true/false để quyết định cho Transition đi State nào.
- AIAction (MonoBehaviour): Chứa PerformAction() để thực hiện một hành động nào đó.
Sẽ cần implement AIDecision + AIAction là chính, AIState và AITransition chỉ là “cấu hình”, AIBrain thì đã cố định.
Cách sử dụng
- 1) Add AIBrain vào GO
- 2) Add các AIState vào GO????, currentState ban đâu sẽ là States[0]
