- 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.
- Building Modern Web Applications Using Angular
- 深入理解Django:框架內幕與實現原理
- Python語言程序設計
- 零基礎學Java程序設計
- Java編程技術與項目實戰(第2版)
- Integrating Facebook iOS SDK with Your Application
- Visual Basic程序設計
- Hands-On Nuxt.js Web Development
- 精通MySQL 8(視頻教學版)
- Laravel Application Development Blueprints
- 創意UI:Photoshop玩轉APP設計
- Hacking Android
- Web編程基礎:HTML5、CSS3、JavaScript(第2版)
- Apache Kafka 1.0 Cookbook
- C++教程