- Unity 2017 Game AI Programming(Third Edition)
- Ray Barrera Aung Sithu Kyaw Thet Naing Swe
- 301字
- 2021-07-02 19:14:16
Choosing transitions
At this point, we have to make some design and logic decisions regarding the way our states will flow into each other. When we map out these transitions, we also want to keep in mind the conditions that trigger the transitions to make sure they are logical and work from a design-standpoint. Out in the wild, when you're applying these techniques on your own, different factors will play into how these transitions are handled. In order to best illustrate the topic at hand, we'll keep our transitions simple and logical:
- Patrol: From patrol, we can transition into chasing. We will use a chain of conditions to choose which state we'll transition into, if any. Can the enemy tank see the player? If yes, we go to the next step; if not, we continue with patrolling.
- Chase: From this state, we'll want to continue to check whether the player is within sight to continue chasing, close enough to shoot, or completely out of sight—that would send us back into the Patrol state.
- Shoot: As earlier, we'll want to check our range for shooting and then the line of sight to determine whether or not we can chase to get within the range.
This particular example has a simple and clean set of transition rules. If we connect our states accordingly, we'll end up with a graph looking more or less similar to this one:
Keep in mind that the placement of the nodes is entirely up to you, and it does not affect the functionality of the state machine in any way. You can try to place your nodes in a way that keeps them organized so that you can track your transitions visually.
Now that we have our states mapped out, let's assign some behaviors to them.
- Learning Scala Programming
- Android項目開發入門教程
- Dynamics 365 Application Development
- 青少年軟件編程基礎與實戰(圖形化編程三級)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- 量化金融R語言高級教程
- H5頁面設計:Mugeda版(微課版)
- 數據結構案例教程(C/C++版)
- C程序設計實踐教程
- Keras深度學習實戰
- RealSenseTM互動開發實戰
- Python預測分析與機器學習
- Web編程基礎:HTML5、CSS3、JavaScript(第2版)
- Python Automation Cookbook
- 一步一步學Spring Boot:微服務項目實戰(第2版)