FirstStage Help Centre
FirstStage Product Website
  • Welcome
  • Release Notes
    • Release 35
    • Release 34
    • Release 33
    • Release 32
    • Release 30
    • Release 28
    • Release 27
    • Release 26
    • Release 25
    • Release 24
    • Release 23
    • Release 22
    • Release 20
    • Release 19
    • Release 18
    • Release 17
    • Release 16
    • Release 15
    • Release 14
    • Release 13
    • Release 12
    • Release 11
    • Release 10
    • Release 9
    • Release 8
    • Release 7
    • Release 6
    • Release 5
    • Release 4
    • Release 3
    • Release 2
  • Basics
    • Getting Started
      • Setting up a Quest headset
      • Starting FirstStage for the first time
      • Controllers
      • Installing on Quest (Standalone)
    • The Office
    • Projects
      • Project Team
    • Scenes
    • Core Tools
      • Grabber
      • Navigator
      • Duplicator
      • Selector
      • Destroyer
      • Animator
      • Sketcher
      • Viewfinder
      • Tape Measure
    • WristPad
      • User Preferences
    • Moving Around
      • VR Comfort Preferences
    • Asset Library
    • Working with Things
      • Manipulating 3d Objects
      • Using Movement Handles
      • Moving with the Waldo
      • Attaching Things
      • Inspector
      • Groups and Assemblies
    • Working with Time
      • Timeline
      • Activities
      • Script
      • Motion Paths
    • Controls and Automation
      • Lights
      • Audio
      • Stage Machinery `
    • Undo / Redo
    • Collaboration
      • Video Streaming from VR
      • Running a Workshop
    • Using FirstStage on the Desktop
  • Crafting
    • Sketching
      • Cutting a Tunnel
      • Manipulating Edges & Vertices on 3d Objects
      • Cutting Faces
      • Standard Shapes
    • Painting with Materials
    • Painting with the Airbrush
    • Lathe
    • Parametric Shapes
    • Images
  • Animation
    • Rigid Animation
      • Realtime Animation
    • Posing Characters
    • Performance Capture
      • Motion Capture (VRIK)
      • Setting up Vive Trackers
      • Performing
      • Face Capture
        • Setting up Facial Capture
      • Mocap with Rokoko Smartsuit
    • Layering Animations
    • Using Physics
  • Camerawork
    • Cameras
    • Through The Lens
    • Camera Sequencer
  • Interactive Scenes
    • Player
    • Branching Scripts
    • Triggers
      • Trigger Volume
      • Click to Trigger
      • Place To Trigger
    • Multiple Choice Dialog
    • Task Checklist
  • Asset Management
    • FirstStage Repository
    • Set up Unity
    • Setup the FirstStage Asset Importer project in Unity
    • Unity Basics
    • Asset Import Process
      • Source assets and import
      • Prepare Assets for FirstStage
      • Export to FirstStage
        • Asset Tagging
      • Example - Unity Asset Import
      • Example - Unity Scene Import
      • Test in FirstStage
      • Fix common issues
      • Share in FirstStage (Cloud)
    • Importing from SketchUp
    • Creating a Character for Firstage using Character Creator
    • Importing from Reallusion Character Creator™
Powered by GitBook
On this page
  • Script Containers
  • Working with Branches
  1. Interactive Scenes

Branching Scripts

PreviousPlayerNextTriggers

Last updated 1 year ago

FirstStage supports non-linear scripts providing decision points which trigger different branches in the script. These are very useful for interactive training, immersive learning, interactive fiction, immersive experiences, as well as for mocking up alternative script decisions during previs when the script is not final.

For example, an interactive training script might include an instructor character that the player can walk up to which triggers the appearance of a dialog where the instructor asks the player a question to test them. As a result of which option is chosen, the script may play out a sequence where the character instructs the player as required. Another section might ask the player to choose which fire extinguisher to use for a particular type of fire.The player would then click on one of the fire extinguishers available and then see a sequence played out showing whether they chose correctly - or not.

Script Containers

Script containers hold sequences of activities on their own timeline. Script containers can be used to organise the timeline by breaking it up into blocks that match sections of the script.

Script containers have their own track at the bottom of the :

  • moving a container will move all activities within it.

  • deleting a container will delete all activities within it

Script containers can overlap each other and of course, can overlay on top of the main timeline activities.

Script containers can also be events triggered by player interaction. For example a Multiple Choice Dialog would have a script container for each option that is triggered when the player selects that option.

When a script event is triggered, it is cued to now (i.e., its start time is set to the current master time) and will show on the timeline accordingly.

Before a script event is triggered, it is ‘uncued’ and will not show on the timeline. It will however show in the [Script View] with a time of Never.

When authoring, the last cued script container is the current container and will appear on top of the timeline to indicate so. All new activities go into the current container (or the main timeline if not container is active).

You can cancel the current container at any time by clicking the cross in the top corner on the timeline and then new activities will go to the main timeline.

Working with Branches

The basic workflow is:

  1. Go to the Asset Repository and look in the Interactive category for a trigger asset such as a Trigger Volume or Multiple Choice Dialog

  2. Grab your chosen trigger asset and place it on the set

  3. Scrub the Timeline to a convenient point to create the new branch (this will often be after the main part of the script at the point the user might trigger it).

  4. Now switch to the branch triggered by the asset (see discussion of the individual triggers for how). Some triggers such as the Multiple Choice Dialog will have several branches depending on which option is chosen.

  5. Just above the timeline you should now see the branch showing as the container into which all new activities will be placed.

  6. Now construct the script for the branch just as usual: while the branch is active, all new activities will be placed there.

  7. Activities that are not part of the branch will be shown greyed out. They will still play out which is useful for background activities.

  8. When you’ve finished working on that branch, click on the X icon to close the branch at which point do not be alarmed when all the activities in that branch vanish as they only show when the branch has been triggered.

  9. You can now continue to work on the Main Timeline or switch to another branch.

  10. Once you have triggered some branches they will show on the timeline. You can then go back to the start and Play (rather than Record) to see how those choices played out without you needing to trigger them again.

To test the triggers and branches, place a Player on the set and point at it with the to take control of it and enter player mode.

Timeline
Navigator