What is SimDirector?
Prepar3D is used around world by pilots, academics, militaries, and hobbyists. It is known for its:
Extensive high-quality content
- High-quality aircrafts and airports are available from our Featured Developers
- Full-world platform with extensible simulation, content pipeline, and software development kit
- Active community of dedicated professionals
SimDirector taps into this potential and allows developers to create scenarios based around the Prepar3D simulation and world.
Scenarios created in SimDirector can be classified into various categories:
- Academic Courseware: Step-by-step demonstrations of procedures, graded evaluation of procedures
- Emergency: Search and rescue, transportation of supplies
- Competitive Challenges: Multiplayer racing, acrobatics, race against time, challenging approaches and takeoffs
- Hobbyist Pilot Procedures: Visual and instrument approaches, scenic flight plans
SimDirector is accessible to scenario developers of all levels:
- Rapidly prototype an idea
- Powerful developer tools built in
- Intuitive visual node based programming
- Advanced scripting and add-on application programming
- Use Software Developer Kit (SDK) to build content that can be used in scenarios
SimDirector is included in every copy of Prepar3D for no additional cost!
- Develop skills necessary to plan and build immersive scenarios, including courseware, with the tool SimDirector
- Demonstrate ability to use Visual Node Based Programming to build advanced scenario interactions
- Gain an understanding on how an open platform such as Prepar3D works
First Scenario (Plan and Set Up Initial Conditions)
Decide on the purpose. Consider:
- Proficiency Level
ExampleWe will target the academic aviation domain. Our objectives are to:
- Perform a successful takeoff on the active runway
- Navigate to specific areas to observe physical entities and scenery
- Optionally, perform a successful landing at the same airport
Decide on the location. Given aviation scenario, consider:
Are we mid-flight?
- At what altitude?
- Are we following a flight plan to a destination?
Are we starting at a desired airport?
- Does our scenario purpose dictate approximately where we should be?
- Does weather of our situation dictate how we will takeoff?
- Are we mid-flight?
ExampleWe could aerially explore downtown Los Angeles in a plane that would be used by a private pilot.
For ease, we can start at Los Angeles Intl (ICAO: KLAX).
Decide on the Time and Season. Consider:
- Should the time and season add training value?
- Is the time and season being used for aesthetics?
- Time should be set to sunset (dusk) to experience the night lighting of the scenery.
- Season can be set to summer.
Decide on the weather conditions. Consider:
- Should the weather add training value?
- Is the weather being used for aesthetics?
- Weather should be present but not affect scenario.
- Choosing fair weather is okay.
The complete planning phase gives us the following plan:
- Takeoff and land at Los Angeles Intl
- Explore area and Points of Interest
- Time: Sunset (Dusk)
- Season: Summer
- Weather: Fair Weather
- Vehicle: Mooney Acclaim w/ G1000 (Publisher: Lionheart)
Set Up ScenarioOpen SimDirector.
- Included in Prepar3D. From menu bar, select Tools -> SimDirector...
- Select File to enter the Scenario Properties
- Select editable Title and change the text to: My First Scenario
- Select editable Description and change the text to: Takeoff from Los Angeles Intl, navigate to key Points of Interest, and then land in Los Angeles Intl
Click the Vehicle button. Select Mooney Acclaim With G1000 as the vehicle:
- For ease, you can use the Search Box
Click the Choose An Airport As Location... button. For the airport selection:
- Type Los Angeles into Airport Name filter
Select Los Angeles Intl, which has an ICAO of KLAX
- Select Active Runway for the Starting Location
Click the Date And Time button. For the date and time selection:
- Select Summer as the season under the Date section
Input 20:30:00 as the Hour/Minute/Second under the Time Section
- This will show the Time Of Day as Dusk
Click the Weather button. For the weather selection:
- Select the Weather themes option.
- Choose the Fair Weather theme.
- Click the Save button on the left and save the scenario as My First Scenario
ExploreNavigate the area using the following controls:
- [Recommended] Mouse: To pan camera, hold Middle Mouse Button over terrain and drag.
- Keyboard: To move camera, hold and release Up, Down, Left, and Right keys.
- Controller: To move camera, use left thumb stick.
- [Recommended] Mouse: Use scroll wheel to zoom.
- Keyboard: Use + and - keys.
- User Interface: Use the Zoom In and Zoom Out buttons found in the Editor Tab.
- [Recommended] Mouse: Hold Right Mouse Button and drag.
- User Interface: Reset rotation using Reset To North buttons found in the Editor Tab.
- Pan the camera, zoom the camera, rotate the camera
Find key landmarks such as:
- Long Beach Harbor, Hollywood Sign, Dodger Stadium
- Navigate using camera controls
RecapEnd of scenario set up, What's next?
We're ready to build our scenario!
- How do we build scenarios?
- What objects would we use?
Let's learn about objects through hands-on exercises.
Overview of Objects (Part 1 of 4)
What are Objects?Structured scenarios are composed of building blocks called Objects.
- Objects that exist in the virtual world are called World Objects.
- SimDirector allows you to create and connect these Objects together to perform useful interactions.
Each Object has a set of Properties that will need to be configured to achieve the desired effect.
- For example: In order to achieve a delay of 5 seconds, a Delay Action will need to change its Delay Seconds Property to 5.
Creating ObjectsObjects are primarily created via the Catalog window.
To create Objects, use the following methods:
Drag and Drop Method: Can position World Objects in exact locations
- Drag World Objects onto ground or non-World Objects scene
- Drag any object onto Visualization - to be discussed!
Quick Add Method: Add objects quickly to the center of the view or at the camera's position (based on settings)
- Press ENTER key while Catalog Object is selected
- Mouse Double Click the selected object
Filtering ObjectsThe Catalog window can be filtered by:
- Category: primarily the object's type
- Subcategory: primarily the object's purpose
- Name: match by a subset of the object's name
An efficient workflow for adding objects from the catalog is as follows:
- Use Name filter, select object UP and DOWN arrows, then add filtered object using ENTER key
- Use model preview before adding scenery or entities!
- Use Category and Subcategory filters to subset objects before adding
Catalog Object Exercises
- How would you find objects that play sounds?
- How would you find Scenery Objects that are landmarks?
- How would you find boats?
- How would you find trees?
How would you find objects that play sounds?
- Answer: Apply the subcategory filter for sound
How would you find Scenery Objects that are landmarks?
- Answer: Apply the category filter for Scenery then the subcategory filter: Landmarks. Additional landmarks may be able to be found in other scenery files.
How would you find boats?
- Answer: Apply the category filter for Entity and Scenery then use the Name filter (e.g. boat, ship, yacht) or use Scenery Subcategory filter: vehicles_water
How would you find trees?
- Answer: Apply the category filter for Scenery then use Name filter (e.g. tree, oak, maple) or use any Scenery Subcategory that starts with vegetation
- Objects are primarily managed by the Objects window.
Select object(s) to reveal additional functionality:
- List of options appears in the Objects Tab
- Windows such as Properties show active object properties
- Selection synchronizes with virtual world
Objects are primarily configured in Properties window:
- They must be the actively selected object to show in window
Always read the description of the property located at the bottom of the Object Properties window:
- Some properties require reading the documentation or learning from examples!
- If you make a mistake, it can be undone! Use CTRL+Z key combination or alternatively the History Window, found in the Windows Tab
- If the object is a World Object, then changing its property may update the staged World Object
- A well thought out naming scheme is important for building large scenarios!
- The object property that controls the name of the object is the Object Name property
- The name may be edited in the Objects Window via Mouse Double Click
- The name may also be edited in the Object Properties Window under "Object Name"
Property TypesSome different types of properties you may encounter:
- Boolean (Yes/No), Numeric, List (choose 1 of N), Text (type input), Color, etc
- File Paths: Can use relative path to your resource directory (Resource Path), existing content directories, or an absolute path
- World Positions: Uses latitude, longitude, and altitude. Typically altered by moving object via Translate Gizmo or Mouse Drag in virtual world
- World Orientation: Uses Pitch, Bank, and Heading. Typically altered by rotating object via Rotate Gizmo or Mouse Rotate in virtual world
- Set Properties: These are additional sheets of properties that can be added and removed. Use Edit button to view more properties
Reference Properties: Objects can reference other objects using reference properties. References contain filters on what they CAN and CANNOT reference.
- Typically, the Visualization is used to reference objects - to be discussed!
- Configurable List Properties: Instead of choosing from a list, sometimes we may want to create one. These properties allow the user to add / remove items.
- Logic Editor Properties: These properties allow the user to set up a logical expression tree - to be discussed!
- Scenery are objects that define a static 3D model at a fixed location, orientation, and scale.
Scenery files, such as Los Angeles Intl (KLAX), are made up of:
- 3D scenery model definitions
- Placements of those 3D scenery models
- Other definitions - to be discussed!
SimDirector can place scenery that is loaded via the Scenery Library in Prepar3D.
- SDK modeling tools can be used to create scenery
- Large default scenery catalog (> 4000 objects)
Scenery can be shown or hidden via the Activated Property.
- Scenery can be programmatically turned ON and OFF using Object Activation Action - to be discussed!
To place scenery with different locations, sizes, and positions we need to learn how to manipulate objects!
Using Mouse Left Click, select objects by either:
- Click Model
- Click Icon
- Lasso Select (Mouse Left Button + Drag)
- Zoom level affects icon groups
- Deselect all objects: ESC key
- Combine Selection: Hold CTRL key
Select desired World Objects, then toggle Translate button
- Or alternatively, press the W key
Pull either X, Y, or Z axis to translate
- Respects Snap To Ground setting which is OFF by default
Select desired World Objects, then toggle Rotation button
- Or alternatively, press the E key
Rotates either X, Y, or Z axis by dragging axis
- Can rotate multiple objects
- After clicking and holding the axis, drag mouse left or right to rotate
- Does not rotate about a central axis
Select desired World Objects, then toggle Scale button
- Or alternatively, press the R key
Scale object by dragging triangle plane in or out
- Can scale multiple objects
Select desired World Objects, then either:
- Drag objects from an Object's Icon to desired location
- [RECOMMENDED] Hold SHIFT and Mouse Left Click Drag on the terrain
Select desired Objects, then press CTRL+V:
- Creates a new copy of the object with the same properties
- Only duplicates the references, to be discussed, if the reference objects is selected
- Can duplicate objects, then move new objects to rapidly create scenery!
Select desired Objects, then press DELETE key
- Removes any references to deleted objects
- May invalidate your scenario, run validation to check - to be discussed
- Mistakes can always be undone using CTRL+Z key combination!
Scenery Object Exercises
Exercise Problems:Create a small town area using Scenery Objects. Some ideas include:
- Wind mill farm
- Hotel complex (HINT: use name filter: gen_tropical) or groups of other related buildings
- Small forest of acacia and olive trees
- Object Gizmos (Translate, Rotate, Scale)
- Object Duplication
- Object Move
- Mobile Scenery are dynamic scenery objects that can follow paths.
- Any scenery model that a Scenery Object can use can be used by a Mobile Scenery Object
- Mobile Scenery can be shown or hidden via the Activated Property
To assign mobile scenery a path, we need to learn about placing and assigning waypoints!
- Waypoints are objects that define a location and optionally either a speed in which they should be traversed or duration that they should be traversed within.
- Waypoints are combined together into a path called a Waypoint List.
- Waypoint Lists are the objects that other objects can reference to traverse (e.g. drive, fly) or visualize the given path.
We typically use the Waypoint Editor as well as Waypoints although it is possible from the Scenario category of the Catalog.
- To access the Waypoint Editor, select Windows Tab -> Waypoints
Use Waypoint Editor Mouse Mode to more easily place waypoints.
When in Waypoint Editor Mouse Mode:
- Mouse Left Click to make a new Waypoint at current mouse location
- Mouse Right Click to make a new Waypoint List
- When in Waypoint Editor Mouse Mode:
- Assign Waypoint Lists to Entities and Mobile Scenery using Waypoint Editor (select the waypoint list and Edit List) or by referencing the Waypoint List from the Mobile Scenery.
To test dynamic interactions (for example: object following waypoints) in the scenario
use Preview Mode.
- Select Mode Tab -> Preview Scenario
Preview Mode contains many developer tools that help build scenarios such as:
- Trace execution of scenario: what happened and when?
- Execute objects independent of scenario
- Monitor and change properties of your vehicle and entity vehicles
A typical workflow in SimDirector involves:
- First, using Sim Editor Mode, the starting mode, to build
- Then, switching to Preview Mode to test dynamic interaction
- Repeat until complete
In Preview Mode, verify scenario behaves as expected.
- If it does not behave as expected, then return to Sim Editor Mode to modify it
- Or diagnose issue using Preview Mode tools - to be discussed!
Mobile Scenery Object Exercises
- Create a Mobile Scenery animal that walks along multiple Waypoints, and comes to a complete stop at the last point.
- Create a Mobile Scenery ground vehicle that drives in a circle at 45km/h continuously using Waypoints.
- Create a Mobile Scenery racing boat that sails a zig zag pattern at 55km/h (30 knots).
Groups are objects that organize other objects.
- Groups do not influence the scenario.
- Groups make scenario creation easier - they help manage complexity!
- Groups can be given colors and descriptive names.
- Groups organize objects on the Objects Window and Visualization Window.
- Groups can be exported using Objects Tab -> Export Group or Context Menu -> Export Group.
- Groups can be imported using File -> Import (*.ogrp).
- Creating or duplicating objects while in a visualization group creates the object in that group.
First Scenario (Basic Scenario Building)
Open up previously created scenario My First Scenario:
My First Scenario
- Plan to build several regions near the city
Use the objects covered so far:
- Mobile Scenery
- Waypoints and Waypoint Lists
- Remember to test the scenario in Preview Mode!
- Create hotel complex (see previous example) or other related buildings
- Create wind farm (see previous example)
- Add boats near marina or river using waypoints
- Enhance airport (baggage, fuel trucks, baggage carts on waypoints)
- Enhance port (cargo, seagulls on waypoints, machinery)
Save the scenario again
- Use Quick-Access Save at top of window
RecapEnd of basic scenario building, What's Next?
- We're ready to enhance our scenario with objectives and interactions.
- What objects would we use?
- How do we connect the objects together?
Let's learn about more advanced objects through more hands-on lecture and exercises.
Overview of Objects (Part 2 of 4)
Introducing Action Objects
- Actions are objects that perform a defined behavior when executed.
There are over 40 different actions which will aid you every aspect of scenario creation. For example:
- Controlling the flow of your scenario
- Setting gauge inputs
- Changing vehicle location
- Changing virtual world (for example: weather conditions)
When instructed to, actions execute their defined behavior once!
- An action may have a defined behavior that may persist or cannot be undone.
- An action can be instructed to execute as many times as necessary. There is no limit.
Actions only execute when they are instructed to! By default, they do not execute on their own.
- There are options to allow actions to execute without the need of a Trigger object or other type of object.
- The scenario developer can preview the execution of an action while testing their scenario!
An Action provides a means of signaling to the scenario developer when it is finished executing.
- This can be done using the Reference Type Property called OnCompleteActions.
- We can utilize this behavior to chain multiple Actions together in sequence.
Multiple different chains of Actions can fire in parallel.
- We can execute a scripted dialog while executing an aircraft malfunction (e.g. engine fails) at the same time without having to wait for one or the other to finish!
An Action can filter whether it will fire in the given context. This can be done by using the List Property called Target Player.
- In multiplayer, we may only want one of the players to experience a failure in their scenario.
- Alternatively, a player may want to execute an action in everybody else's scenario except theirs.
Glossary of Basic Action Objects
- Object Activation Actions: are the primary way of turning on and off objects that have the Activated Property. These control the flow of the scenario.
- Dialog Actions are the primary way of narrating your scenario with text and sound.
- Delay Actions are the primary way of creating delay between serial chains of actions.
- Attach Effect Actions allow the user to spawn effects such as fireworks, smoke, and sparks on objects.
- Change Object Type Actions can change the user's vehicle during the scenario.
- Activate Waypoint Actions can assign a waypoint list to an object or cancel an active waypoint list.
- User Input Activation Action enables or disables whether the user has keyboard or joystick control. This can be useful for demonstrations or cut scenes!
- Set Pause Action can control whether the user is paused or vehicles are frozen. For example: User may need to read content before continuing!
- Play List Action can create a list of sounds that will play as the background music - which can be randomized!
One Shot Sound
can create a sound effect utilizing any of the sounds in the sound library!
These are intended to be independent of your scenario's dialog narration.
- Random Action chooses an action at random from a list of selected actions. Optionally, the action can choose what percentage of the time an action will fire.
- Entity Simulation Actions: can be used to toggle the simulation state of an entity. When this is set to false the entity will still render but will no longer move or process AI.
Basic Action Object Reference Manual
Object Activation ActionObject Activation Actions are the primary way of turning on and off objects that have the Activated Property. These control the flow of the scenario.
- Choose the object that you wish to turn on or turn off using the Reference Type property called ObjectReference. Note what objects can be referenced! Set whether or not you want to Activate (turn on) or Deactivate (turn off) using the NewObjectState boolean property.
- When an object is deactivated it will not render or simulate!
Dialog ActionDialog Actions are the primary way of narrating your scenario. Choose the type of dialog sound using the List Property called Sound Type.
- If None is chosen, then no sound will play but captioned narration can still be added via the Text Property called Text.
- If Text-To-Speech is chosen, then an artificial voice will generate the sound based on what is input into the Text Property called Text. The artificial voice will use Windows default voice but alternative installed voices may be selected using the List Property called Voice Selection.
- If Sound File is chosen, then a sound file, typically a professionally recorded voice, will be played, using the File Path Property called Sound File Name. Additionally, captioned narration can be added via the Text Property called Text.
Delay ActionDelay Actions are the primary way of creating delay between serial chains of actions.
Choose the amount of delay by setting the Delay Seconds numeric property.
- Can be fractional seconds. Be aware, the delay seconds are accurate up to 1/6 of a second.
- Reference another object using On Complete Actions and execution of that object will be delayed.
Attach Effect ActionAttach Effect Actions allow the user to spawn effects such as fireworks, smoke, and sparks on objects.
Choose an effect from the Effect Name list property. This list contains all of the effects loaded into the application.
Effects have different durations (lifetimes):
- Some last indefinitely
- Some must be repeatedly applied
- Effects have different durations (lifetimes):
Choose which objects to attach the effect to using the Object Reference List Reference property:
- To create an effect that exists at a world position, attach to an infinitely small scenery object.
- To attach to pre-defined locations on model use Attach Point Name - to be discussed!
Change Object Type ActionChange Object Type Actions can change the user's vehicle during the scenario.
Choose from a list of any user selectable vehicles using the Object Type list property:
- Same vehicles as the Prepar3D's Select Vehicle screen
Typically performed in the following situations:
- In conjunction with a Menu Prompt Trigger to give users a choice of vehicle
- In a multiple vehicle scenario (for example: User switches from ground vehicle to helicopter)
Activate Waypoints ActionActivate Waypoint Actions can assign a waypoint list to an object or cancel an active waypoint list.
- The list of waypoints that this object assigns can be set using Waypoint Editor
The object who will instructed to follow the waypoints is set in the Object Reference Reference property
- If object is assigned no waypoints, then it will stop following any active waypoints
User Input Activation ActionUser Input Activation Action enables or disables whether the user has keyboard or joystick control. This can be useful for demonstrations or cinematic sequences!
When executed, sets whether user may input commands to the applications using the Enable User Input property. This affects:
- Computer Mice
- This is useful during cinematic sequences or while showing a student how to perform a task!
Set Pause ActionSet Pause Action can control whether the user is paused or vehicles are frozen. User may need to read content before continuing!
Can set whether the application is paused or unpaused using Pause Flight Boolean property
- When paused, can only unpause system if given user input such as mouse click. Using timing won't work, system is paused and not simulating
Can set whether:
- all entities, including self, are paused using Position Freeze All Boolean property
- just your vehicle is frozen using Position Freeze Self Boolean property
- While frozen, application can be simulating but the vehicle does not move.
For example: This can be used to explain a situation, narrate before continuing.
- Approach runway, freeze user, explain how to put down landing gear, unfreeze user
Play List ActionPlay List Action can create a list of sounds that will play as the background audio track - which can be randomized!
Plays a list of audio files defined in the Play List Item configurable list property.
- Each Play List Item contains a Sound File Name file path property which can be set to any of Prepar3D's sound directories or to the scenario's Resource Path.
- This Play List Item's order may be randomized using Randomize In List property. If an item is not set to randomize then its position is fixed.
- Only one play list action may play at a time.
One Shot Sound ActionSound can create a sound effect utilizing any of the sounds in the sound library!
- Set the audio file that will be played using the Sound File Name file path property which can be set to any of Prepar3d's sound directories or to the scenario's Resource Path.
- Unlike Dialog Action or Play List Action, One Shot Sound Actions can be played in parallel or even over dialogs or background audio.
Random ActionRandom Action chooses an action at random from a list of selected actions. Optionally, the action can choose what percentage of the time an action will fire.
- Use the numeric property Probability Percent to determine the percentage of the time that a random action will be chosen from 0 to 100
- Provide a list of actions via the Actions reference property that the random action will randomly choose from
Entity Simulation ActionEntity Simulation Actions are used to control the simulation state of entity objects.
- Choose the entity object that you wish to enable or disable simulating using the Reference Type property called ObjectReference. Note what objects can be referenced! Set whether or not you want to Activate (enable) or Deactivate (disable) simulation using the NewObjectState boolean property.
- When an entity has its simulation state disable it will still render in the mission but will no longer move or process AI!
- Once your scenario grows in size and contains objects that interact, it is helpful to visualize your scenario.
- The visualization window draws an interactive graph of your entire scenario.
- This is why SimDirector is referred to as a visual node based programming tool.
- The visualization window is open by default in the same tab well in SimDirector as the Prepar3D tab.
- It can be toggled ON and OFF using the Visualization button in the Windows Tab.
ControlsSimilar to world navigation controls:
- Middle Mouse Button drag to pan around the visualization
- Middle Mouse Wheel zooms the visualization
Mouse Left Click or Lasso using Mouse Left Button drag to select objects
- Hold CTRL key to combine previous selections
InteractivityGraph is interactive!
- Connect and disconnect nodes by dragging them together
- Only valid connections can be made: Connection order matters!
- Toggle object states using visualization buttons
- Use Group Objects to organize graph and list
- Traverse into groups using the visualization
Object properties can be configured incorrectly.
- Object Activation Actions must specify what to activate
- Dialog Actions that render text to speech must supply text
- Scenario validation can be performed to check each object and their connections
- Scenario validation is manual by default, can be set to automatic
- Scenario must not have any errors to run successfully
To validate, open Validation Output by toggling Visualization in the Windows Tab
- Click Run Validation in the right hand corner of the validation window
- Double Click object to select and fix errors
Progress Log Window
- When your scenario grows in complexity you will want to ensure that objects are executing during the correct time and under the correct conditions.
The progress log is a developer tool that keeps a log of when objects change state such as:
- When actions execute
- When objects activate and deactivate
- When goal states change
- It can be toggled ON and OFF using the Progress Log button in the Windows Tab or Debug Tab.
- The Auto Center On Visualization option will pan the graph to the object whose state changed.
Action Object Exercises
ExercisesCreate and configure the following actions or groups of actions.
Do not connect Triggers to fire Actions.
Instead, use the Execute Action with Children button in Preview Mode.
Create a series of 3-5 effects that are attached to the user's vehicle. The effects should execute sequentially with varying degrees of delays between them.
- Only use effects that start with "fx_"
- Create a series of actions connected together that perform the following task: turn off multiple scenery objects, wait several seconds, then turn on the scenery objects
- Create a scenario where a mobile scenery object (e.g. truck) is assigned waypoints that instruct it to drive in a circle (infinitely). After 30 seconds, instruct the mobile scenery object to stop following the waypoints.
- Create a scenario that cycles between 3 different vehicles with 10 seconds between each switch.
Create a series of narrations that utilize text to speech. Optionally, use the record functionality to record yourself narrating the text. Example:
- "This is the first dialog"
- "This is the second dialog"
- "This is the last dialog"
- Create a scenario that freezes and takes away user input after 10 seconds and then restores it after another 10 seconds. Use a dialog to let the user know what state they are in.
- Create a play list of background audio and then play a series of one-time sound effects over the background audio
Introducing Trigger Objects
- Triggers are objects that fire actions when the appropriate conditions are met
Triggers will perform their function only when they are activated
- Deactivated triggers cannot fire actions
- Deactivated triggers can be turned back on using Object Activation Action
The One Shot boolean property of Triggers determines whether the Trigger should turn off after firing all referenced actions.
- By default, it is set to True and the Trigger turns off
Glossary of Basic Trigger Objects
- Timer Trigger: a timer that counts up or down to a specified time and then fires referenced actions.
- Menu Prompt Trigger: a menu with configurable items that can be selected. When an item is selected, it fires its referenced action.
- Collision Trigger: a condition that can be set up to fire when a specified object collides with another specified object.
Counter Trigger: a counter that can be set up to fire when the accumulated count reaches the Stop Count.
- Count Action is an object that increments or decrements the counter trigger's accumulated count.
Basic Trigger Object Reference Manual
Timer TriggerTimer Trigger is a timer that counts up or down to a specified time and then fires referenced actions.
- Set the Start Time and Stop Time property to determine how the timer should count. Time is measured in seconds.
- Start Time of 10 and Stop Time of 5 will count down from 10 to 5.
- Start Time of 0 and Stop Time of 10 will count up from 0 to 10.
To display the counter on the screen, set On Screen Timer to True
- If set to show on screen, timer trigger does not need to fire associated actions
- Use on screen timer to let user how much time they have left or have taken
Menu Prompt TriggerMenu Prompt Trigger is a menu with configurable items that can be selected. When an item is selected, it fires its referenced action.
- Set up description of the menu using the Text property and the title using the Title property
Each menu option is defined in the Menu Item configurable list property:
- Each Menu Item contains a Text which is used to set the option's title
- Each Menu Item contains an Actions reference property which will fire when clicked
- Set One Shot to false to keep menu open to continuously select options
Collision Trigger ReferenceCollision Trigger is a condition that can be set up to fire actions when a specified object collides with another specified object.
- Specify which colliding objects can cause the trigger to fire using the Collision Entity References reference property
- Specify which objects when collided can cause the trigger to fire with the Object Reference List reference property if Object Filter is set to Reference
- Be aware that not all scenery models are able to be collided with. This must be set when making model.
Counter Trigger ReferenceCounter Trigger is a counter that can be set up to fire when the accumulated count reaches the Stop Count.
- Use Start Count numeric property to set the initial count
- Use Stop Count numeric property to set the target count. When the current count reaches the Stop Count, the referenced actions fire (Actions property)
Stop Count should be larger than Start Count
- Counting strategy can be determined by count action
Count ActionCount Action is an object that increments or decrements the counter trigger's accumulated count.
Set Count numeric property to specify amount to increment or decrement the Count Trigger.
- Negative count for decrement
- Set Triggers reference property to the Count Triggers which should be incremented or decremented
Trigger Object Exercises
ExercisesCreate and configure the following scenario using triggers and actions.
Repeat Action Exercise #2 with modifications: "Create a series of actions connected together that perform the following task: turn off multiple scenery objects, wait several seconds, and then turn on the scenery objects"
Use a Timer Trigger instead of a Delay Action. Show the timer on the screen. Repeat on/off behavior indefinitely.
Count from 0 up to 5 using Count Trigger and Action. Increment the count every time a timer trigger elapses one second.
Hint: Set timer's OneShot Property to false.
Place 5 pylon scenery objects on the runway. Every time the user collides with the scenery object, deactivate it.
Hint: Use Name filter and search for "Pylon"
Use a menu prompt to ask which of the three scenery objects they want to see in front of them.
- Menu should stay open after each choice
- When an option is chosen, the other scenery objects should disappear
Introducing Area Objects
- Areas are objects that define a volume which can be referenced.
Areas by themselves do not influence the scenario
- Must use objects that reference areas to perform interaction
- Areas can be rendered in scenario using the Draw Style Property and choosing an appropriate color using the RGB Color Property
Glossary of Basic Area and Related Objects
- Rectangle Area defines a rectangular volume defined by a length, width, and height.
- Sphere Area defines a spherical volume defined by a radius.
- Cylinder Area defines a cylindrical volume defined by a radius and height.
- Cylinder Path Area defines a series of cylinders with a radius.
- <Proximity Trigger defines an object that fires actions when specified objects enters a referenced area.
- Area Landing Trigger defines an object that fires actions when the user lands at a referenced area.
- Airport Landing Trigger defines an object that fires actions when the user lands at a specified airport.
Basic Area and Related Object Reference Manual
Rectangle AreaRectangle Area defines a rectangular volume defined by a length, width, and height.
- Use Length, Width, and Height numeric properties or Scale Gizmo to configure size of rectangle area
- Can attach to another object using Attached World Object set property
Sphere AreaSphere Area defines a spherical volume defined by a radius.
- Use Area Radius numeric property or Scale Gizmo to configure size of sphere area.
- Can attach to another object using Attached World Object set property
Cylinder AreaCylinder Area defines a cylindrical volume defined by a radius and height.
- Use Area Radius and Height numeric property or Scale Gizmo to configure size of cylindrical area.
- Can attach to another object using Attached World Object set property
Cylinder Path AreaCylinder Path Area defines a series of cylinders with a radius. Each end point of the cylinder list is defined using the Cylinder Position configurable list property.
- Set the Area Radius to define the radius of the cylinder
Choose between attaching cylinders to:
- Fixed Position
- Position offset by a vector (length, direction)
- Another object (whose position may move)
Proximity TriggerProximity Trigger defines an object that fires actions when specified objects enter a referenced area.
- Specify which areas can cause the trigger to fire by using the Areas reference property
Specify which objects when entering can cause the trigger to fire with the On Enter Filter reference property if Object Filter is set to Reference.
Use On Exit Filter to fire actions when leaving the area.
- Either use enter actions or exit actions, not both.
- On Enter Filter and On Exit Filter can additionally check that a condition is true before firing using On Enter Condition and On Exit Condition - to be discussed!
Area Landing TriggerArea Landing Trigger defines an object that fires actions when the user lands at a referenced area.
- Specify which areas can cause the trigger to fire by using the Areas reference property
- Specify whether the user must make a full stop, touch and go, or either one of these for the trigger to fire using the Landing Type list property
Airport Landing TriggerAirport Landing Trigger defines an object that fires actions when the user lands at a specified airport.
- Specify which airports that the user can land at for the trigger to fire using the Airport Ident creation list property.
Specify an optional runway that the user should land at by creating a Runway Filter set. By default, any runway is okay to land at.
- Configure runway using Runway Designator and Runway Number
- Specify whether the user must make a full stop, touch and go, or either one of these for the trigger to fire using the Landing Type list property.
Area Object Exercises
ExercisesCreate and configure the following scenario using area objects.
Define two waypoint lists that a ground vehicle should drive.
- The first waypoint list should be assigned to the mobile scenery object.
- The second waypoint list should be assigned when the vehicle reaches the end of the first list.
- Use a cylinder path to define a path that the user should taxi within. Display a dialog if they leave the area.
Define obstacles on taxiway. Display a dialog if the user gets too close to any of the obstacles.
Hint: Use a sphere area attached to the user and then detect when objects enter.
- [Bonus] Set up either a basic area landing or airport landing.
Overview of Objects (Part 3 of 4)
Introducing Goal Objects
Goals are objects that define the scenario objectives and can pass or fail the scenario.
- Multiple goals are possible
- Goals can be grouped in a hierarchy
- Goals can be optional
- User can view goals on the Kneeboard Window in Preview Mode.
Glossary of Goal Objects
Goals define a basic scenario objective with a point value that can be passed and failed
- Goal Resolution Action changes a goal's state to either pass or fail.
- Group Goal defines a goal that references other goals to create a hierarchy. The group goal either passes or fails by accumulating enough points or when told or via goal resolution.
Goal Object Reference Manual
- Set the order of how goals appear in the kneeboard using the Order numeric property. Lower numbers come first.
Set the amount of points that passing this goal is worth using the Point Value numeric property.
- Used by objects such as Group Goal to determine whether they should pass.
- Describe the goal using the Text property.
If a goal is failed, then by default the scenario will fail.
- Use the Optional boolean property set to True to specify that this goal is not required and should not fail the scenario.
Goal Resolution ActionGoal Resolution Action changes a goal's state to pass or fail.
- Set whether the goal that is to be resolved should pass or fail using the Goal Resolution list property.
- Set which goal to resolve using the Goals reference property.
- Additionally, change the goal's text by changing the Update Goal Text Boolean property to True and setting the New Goal Text property.