NAVIGATION SERVICES AND INTERACTIONS
The idea behind navigation services is to set up a way to move SimObject "actors" around the Microsoft Flight Simulator 2024 world and interact with things or perform specific tasks. For example, a navigation service would be required to be able to have a passenger move to their seat in an aircraft, then sit down, and then finally put on their seat-belt.
NOTE: Navigation services are not only used by aircraft, but can also be used elsewhere in the world, for example to control the behaviour of passengers on an airport bus, or defining how airport service vehicles behave, etc...
Some navigation services and interactions are built into the simulation and can be used by all aircraft. These services require very little setup and are easy to use, but still give a coherent user experience since they are the same services that the default aircraft use. To find out how to set these up, please see here:
If you wish to create your own navigation services and interactions, then you need to know how they work from the point of view of the files and the code that is contained within. At their core, navigation services are based on finite state machines (FSM). These FSM are based on the following four different "parts":
- A state list which defines the different global states of the navigation FSM and the way each state will lead in to each other.
- A behaviours list which contains the different behaviors that are available. This is also an FSM, meaning that for each cabin state, you can have various behaviors that flow into each other as the behaviour FSM progresses.
- Behaviours or - "behaviour objects" - which define how individual actors within the behaviors FSM will react and behave in each state.
- Tasks, which are individual actions that can be performed by the actors as part of a behaviour.
NOTE: In the context of navigation services "actor" simply refers to any object that has a behaviour associated with it within the FSM, which could be anything from a person to a bus to a bag of rice.
When setting up navigation services, they all need to be registered with the navigation controller in the simulation. This is explained on the following page:
Once a navigation service has been registered it can be used in the simulation, provided that the navigation service XML has been setup correctly. This XML is explained here:
Additionally, navigation services will require you to have set up one or more of the following additional files:
- navigation_graph.cfg - used for navigation by the actors
- Interaction XML - used to control the different behaviour object (actor) interactions during a task
You may also wish to set up navigation services for missions and different flight types. For those it will be required that you set up some mission XML and some FLT data, which is explained here: