Digistar 6 Software Training Course • D6 User Interface • Workspaces, Library and Custom Content • Astronomy Controls and Dome View • Show Builder and Control Panel • Digistar Command Language • Script Writing • Scripting Best Practices • Practical Examples • Using Images, Video, Audio and Other Resources • Accessing Help and Online Resources • Digistar Users Group 2 Digistar 6 Software Training Course Summary • User Interface Layout • Workspaces • Views • Control Panel • Floating Dome View 3 Digistar 6 Software Training D6 User Interface To launch the software, click on the D6 icon on the desktop. This starts “Digistar.exe” program, which is the user interface. This in turn launches DsHost and DsGP if not already running. 1. Drop-down menu 2. Fade-Stop-Reset 3. System Pause 4. Toggle – Control Panel 5. Toggle – Floating Dome View 6. View – Playback 7. View – Astronomy 8. View – Show Builder 9. View – Production 10.View - System 4 Digistar 6 Software Training D6 User Interface 1 2 3 4 5 6 7 8 9 10 Playback is designed as the simple interface window for presenters Workspaces • Presentations • Playlists Show Time controls 5 Digistar 6 Software Training Playback View Astronomy is designed for live presentations Presenter Workspace • Presentations • Playlists Astronomy Controls • Sky • Date & Time • Location • Navigation Object Controls Information Page 6 Digistar 6 Software Training Astronomy View Morning Sky • Your home location, and time is according to sunrise offset preference  Default is one hour before sunrise for current day Evening Sky • Your home location, and time is according to sunset offset preference  Default is one hour before sunset for current day Sky Now • Your home location, and time is set to that of Host PC Sky On • Doesn’t change time or current location (if no location set: home is used) Reset Sky • This is used to remove extra items from dome; does not set time/location 7 Digistar 6 Software Training Sky Controls Click or click-drag anything except the clock face Calendar shows current day, new moon, full moon  Based on UTC calendar, so local events may occur on an adjacent day Can display “Local Date” and “Local Time” on dome Weighted sliders • Time slows and stops when you let go • Usage hints:  Turn Precess off to show Proper Motion  To go beyond 1 million years with proper motion, adjust stars object directly Shortcut Buttons • “Now” “Sunrise” “Sunset” or “Set” Detailed Date Rate • Continuously “play” or “step”, or step manually • Slider adjusts the ramp up/down (rate) or interval between steps 8 Digistar 6 Software Training Date & Time See and adjust Latitude, Longitude, Altitude, Azimuth • Azimuth: 0 degrees = North; 90 degrees = East Reset home location by right-clicking home button • Your usual home location is restored upon restarting Digistar software Map • Flat map: drag the red target to where you want to go • Globe map: drag the globe so desired location is under target Places • Specify Body; can search by region, country, etc. • Access Terrain features in Imagery column • Can add to places in the list Buttons • Home, Space View, Terrain View, Sky View (view from surface) 9 Digistar 6 Software Training Location Access via Astronomy Controls: Location • Choose a location (default enabled: Earth, Moon, Mars) • Click “Terrain View” button Flying over terrain • Choose the Earth icon in the active Dome View window • Controls  In the active Dome View, left-click and drag the surface to “fly”  Use shift key+left click to change heading and pitch relative to the surface  Use mouse wheel or middle mouse button and drag to move closer or farther from surface; your speed exponentially increases as you go The terrain tab allows organizing and managing display of all terrain resources for any planet or moon • Terrain resources can be pre-processed dataset files that are found on a hard drive, or they can also be online web map services such as WMTS and WMS for online imagery sources. 10 Digistar 6 Software Training Terrain Enable manually or click a “Fly To” button • Controller must be specified before activating navigation • Default is joystick if one is plugged in; mouse otherwise Controls  Up arrow: Forward Thrust (red button: stop forward/reverse motion  Down arrow: Reverse Thrust (red button: stop forward/reverse motion) • Only in Orbit Mode  Right/Left arrows: orbital speed (red button: stop orbital motion) Free Flight Mode • Use rocket icon to leave orbital mode and enter free flight  If orbiting, orbiting motion slows to a stop Orbital Mode • Speed scale is exponential; use slider to adjust relative speed 11 Digistar 6 Software Training Navigation A flight through the Universe • AutoActivate Feature AutoActivate is a command that tells Digistar to control whether an object is on or off depending on the Eye position (relative to another object, such as Sun) So as you fly through the universe, objects and datasets can come on automatically Sample AutoActivate scripts are included in the Digistar Library • Demonstration Fade-Stop-Reset Turn sky on, then move to a Space View Play “Digital Universe Autoactivate” script (nothing will change on dome) Use Navigation to move away from Earth… all the way to the edge of the known Universe! Then come back home. • AutoActivate can be used with any system object. Think creatively! 12 Digistar 6 Software Training Navigation Example Search 13 Digistar 6 Software Training Preferences Select Group Preferences Individual Preferences Digistar Content • Astronomy items User Content • Items added by users to customize Library content Cloud Content • Items found on the Digistar Cloud System Resources • Useful items that come with Digistar such as images, panoramas, all skies, 3D models, audio clips, music, fulldome clips, time-lapse videos, etc. 14 Digistar 6 Software Training Library Content To add a show, trailer, image, model, video, or audio file to the Library • Click “Add Files to Library” button, or • Drag-and-drop the file(s) into the Library display window  No need to add items used by a .ds file, such as video or audio files Set Library Properties as Desired • Change the name as it appears in Library, set the icon, link an Info Page, and set a Caption  Icon and Info Page are linked automatically if naming convention used • Use Tags to keep items organized and searchable • Choose “apply to all” when adding multiple, similar items Click OK, then refresh the Library view 15 Digistar 6 Software Training Adding to the Library Note: Files do not have to be added to the Library in order to be dragged-and-dropped onto the dome or referenced by other scripts. Place things in the Library that you want to have “on hand” for use. Positioning of individual satellites is calculated by Digistar based on the simulated date (scene date) The elements of low-Earth orbit satellites degrade particularly quickly • For example, update the ISS elements on the day of a visible pass  After a few days, the timing is notably off  After a week or more, the pass may not ever appear To show the most accurate satellite positioning, update orbital elements 16 Digistar 6 Software Training Satellite Data Source for orbital elements: celestrak.com/NORAD/elements Digistar data files: $Digistar/Astronomy/satellites/ Restart Digistar software after updating data files! Show Builder View is designed for creating Show Builder Projects Sequences can be created using drag-and-drop features of Digistar Show Builder automatically creates transitions between Snapshots Exporting a Show Builder Project creates a .ds show file that can be put in the Library 17 Digistar 6 Software Training Show Builder View Production View is designed for scripting and real-time inspection and control of Digistar objects Script Editor • Supports .ds and .js files • Auto-complete and advanced editor functions • Assistance with debugging syntax errors Command Console & Command Echo • UI command echo helps expand command knowledge; turn off for show presentation to minimize real-time message traffic Object Properties • Access to status of and interaction with all real-time objects in Digistar • Handy shortcuts include “user objects” and “active objects” 18 Digistar 6 Software Training Production View Projector control and status • Note “beam off” does not save lamp hours: lamps are still on System Shutdown • Check status of computers and projectors before clicking “shut down: Messages • Use “Load Status” to determine load time of objects, especially those with large textures • Load Status is usually off to minimize real-time message traffic during show presentations 19 Digistar 6 Software Training System View 20 Digistar 6 Software Training Dome View 21 Digistar 6 Software Training Control Panel The Control Panel provides an another method for controlling the system. The Control Panel is organized into Groups and Pages. Groups are accessed from the drop-down menu at the top-left corner of the Control Panel window. • Selecting a Group will open each of the Pages contained in the Group. • Only one Page can be displayed in the Control Panel at a time. • All Control Panel Groups and Pages can be used from a device such as an iPad. • Users may create their own Groups and Pages. This is the situation at system initialization. The eye is in the scene. What the eye “sees” goes to the dome. 22 Digistar 6 Software Training Digistar Core Concepts SCENE EYE DOME To Theater The visual composition your audience will see This is the situation at system initialization. The eye is in the scene. What the eye “sees” goes to the dome. DomeVideo and DomeAudio are commonly used for fulldome video and soundtracks. 23 Digistar 6 Software Training Digistar Core Concepts SCENE EYE DOME To Theater The visual composition your audience will see domeVideo domeAudio Dome • The composite image the audience will see • These items can be layers in the Dome composition  Camera(s)  domeAudio  domeVideo • Dome is a CompositionClass object Scene • A scene is used to group objects that will be rendered together • Scene is a SceneClass object Eye • A camera views a scene from a particular position and orientation • A camera must be added to a scene and dome • Eye is a CameraClass object 24 Digistar 6 Software Training Digistar Core Concepts If a news crew shows up at your office to do an interview… The scene is your office. It is a “container” for stuff. • Your office contains objects like you, your desk, pictures on the wall, etc. The eye is the cameraman and the camera he carries. • It must be in the scene to see you, your desk, pictures on the wall, etc. • The camera sends imagery to the station’s transmitter (the dome) so the audience can watch the interview In Digistar, commands are used to control objects in the scene, control the camera, and even control the scene parameters itself. • Commands are generated and executed in a number of ways, including Clicking in the UI Using a joystick Running scripts and shows Typing in the Command Console 25 Digistar 6 Software Training Digistar Core Concepts 26 Digistar 6 Software Training Digistar Core Concepts SCENE domeVideo domeAudio SCENE2 EYE CAM CAM2 DOME To Theater Multiple composition layers in the dome can be rearranged Layers may be cameras, domeVideo, and domeAudio Object Classes • The class is a template for an object and defines its characteristics Add examples of classes and attributes… Objects • An object is an instance of a class • An object has all the attributes that are defined by its class • A number of system objects are created at system init Examples: stars, planets, moons, milkyway, markers, labels, etc… IS command • Users can create objects of a specified class For example: MyPlanet is planetClass • Objects may be temporary, persistent, or permanent 27 Digistar 6 Software Training Digistar Core Concepts Basic Commands • object command These include basic on/off commands Stars on Earth on “On” and “Off” commands work on system objects An “On” command will revert an already-on object to default settings Color, scale, intensity, and duration may be set explicitly, for example: Mars on duration 6 VenusMarker on color red duration 5 “Reset” and “Delete” are other common commands. 28 Digistar 6 Software Training Digistar Commands General Object Commands • object command/attribute [keyword] [rate/step] value [qualifier] [duration] [value] Items in brackets are optional Examples of attributes – intensity, color Sun intensity 0 eye color black Examples of keywords –spherical, relative localDate position spherical 0 5 20 m scene attitude relative 0 -45 0 Examples of values – red, 180 0 0 SaturnMarker color red eye attitude 180 0 0 Examples of qualifiers – km, rSun Earth scale 1 km eye offset 0 -10 0 rSun 29 Digistar 6 Software Training Digistar Commands Durations • Durations are optional and work with most commands A single value specifies the time to execute the command (in seconds) Example: Earth on duration 5 Earth fades up over 5 seconds (or, if Earth was already on, Earth reverts to default settings as specified in preferences over 5 seconds. You can also specify a ramp-up and ramp-down time Example: eye pos 0 10 0 ly dur 10 3 3 This takes 10 seconds to move the eye to the specified location in space. During the first 3 seconds, speed is ramped up, and during the last 3 seconds the speed is ramped down. Digistar calculates the speed needed during the middle 6 seconds. At the end of the 10 seconds, the eye is static. Example: eye pos rate 0 1 0 ly dur 5 This takes 5 seconds to change the speed and direction of eye movement. At the end of the 5 seconds, the eye is moving at the constant specified rate. 30 Digistar 6 Software Training Digistar Commands object command saturn on object command gemart on color gold int 70 dur 4 object attribute value script play $Content\Library\Scripts\Tutorials\Greetings.ds object attribute keyword value qualifier duration eye position cel 6 30 1 ly dur 5 1 1 object attribute keyword rate|step value qualifier duration eye position cel rate 6 30 1 ly dur 5 31 Digistar 6 Software Training Command Examples Some command names, keywords and qualifiers can be abbreviated (pos, att, cel, rSat, etc.) System objects are created at startup by Digistar Examples • domeVideo For playing fulldome video or higher-resolution video files. Must be added to dome. • domeAudio Can play 5.1 (or 7.1, depending on system) audio files. Must be added to the dome. • Eye This default cameraClass object is in the Scene and the Dome • Scene This is the default sceneClass object in which other objects, such as Milkyway, stars and models are added. • Script and Show “script play” begins execution of commands in the .ds file, and “show open” controls commands using the show clock (control with Show Time controls). • Exhaustive list of Astronomy-related objects 32 Digistar 6 Software Training System Objects Examples of controlling system objects Start with a blank slate system reset Turn on stars and Milky Way stars on milkyway on Turn on a constellation aurStick on color gold duration 5 Make the Milky Way brighter milkyway skyIntensity 70 duration 4 Move the Eye camera eye pos -50 100 0 ly duration 4 1 1 33 Digistar 6 Software Training System Objects SystemObjectGroupClass is a way to turn on or turn off many objects with a single command. Over 90 such objects are created by Digistar at startup • Examples: planets, visiblePlanets, skyDSOs, GalileanMoonOrbits, ZodiacArts, geoSats Users can make custom group objects • Note these only exist on your system, unless your show script creates the group object • They could be created via startup.ds file, but this may create problems when using custom items and sharing content/transferring to other systems • If you will share and exchange scripts with other Digistar sites, create the group object in your main show file (or script if there is only one)  Request what you think will be a common group object as an enhancement request! 34 Digistar 6 Software Training Group Objects Common Classes • solidModelClass  Models have geometry (a shape) and textures (imagery). This class is used frequently for spacecraft, other 3D objects, images, videos, and more. • emptyClass  An object with no geometry or texture data. Empty objects are often used as “parents” that control other objects. • textClass, text2Class  textClass scale is relative to dome and automatically faces audience  text2Class is like a 3D object (can be rotated, is smaller when farther) • dotClass  Can apply textures to make a dot into as any shape: snowflake, heart, etc.  Size on dome determined by dotScale (not distance) • Resources classes, such as  imageClass, slidesetClass, audioClass, videoClass (windowed video) 35 Digistar 6 Software Training User Objects User objects are created by actions in the UI (e.g. drag-and-drop of an image on the dome), scripts, or typing in commands Examples: myText is textClass myISS is solidModelClass barycenter is emptyClass rotator is orbiterClass Creating an object with the is command results in an object that has default values for all attributes • The new object is not yet in the Scene, so it does not appear on the dome • Digistar is not case sensitive; any capitalization you use is your choice 36 Digistar 6 Software Training User Objects All User Objects • Can be deleted explicitly, for example: barycenter delete Temporary Objects • Most object classes are temporary by default • system reset command deletes temporary objects Persistent Objects • Created by command, e.g. rotator is orbiterClass type persistent • system resetAll command deletes temporary and persistent objects Permanent Objects • Created by command, e.g. MyText is textClass type permanent • Some object classes are permanent by default • These objects are deleted explicitly or when Digistar is closed 37 Digistar 6 Software Training User Objects System Reset • Resets scene, eye, domeVideo, and domeAudio • Deletes (temporary) user objects System ResetAll • Resets scene, eye, domeVideo, and domeAudio • Deletes temporary and persistent user objects System ResetNoAV • Resets scene and eye • Deletes (temporary) user objects • Does not affect domeVideo or domeAudio 38 Digistar 6 Software Training Reset Options 39 Digistar 6 Software Training Draw Modes To see an object, set a draw mode. The draw mode tells Digistar how to render the object in the scene. Distant Normal Fixed Landscape Near Example of each drawing mode: system reset celestial on # distant example stars on # normal example drag-and-drop 3D model # fixed example drag-and-drop panorama # landscape example Use DomeView to drop Text # near example Use the ‘eye’ icon in Dome View to change the eye position • Tip: use LY units, reset to 0 0 0 when done • Note which draw modes are (and are not) affected by eye position Use the ‘eye’ icon in Dome View to change the eye attitude. • Note which draw modes are (and are not) affected by eye attitude 40 Digistar 6 Software Training Draw Modes Draw Mode Camera Position & Offset Camera Attitude Z-Buffered Zoom Distant No Yes Yes Yes Normal Yes Yes Yes Yes Fixed No No Yes Yes Landscape No Heading Only No Yes Near No No No No 41 Digistar 6 Software Training Draw Modes More distinguishing features are in the User’s Guide Origin: Center of Sun (Distant, Normal) or Camera (Fixed, Landscape, Near) Sun-centered coordinates: • Cartesian (default) and Celestial most common • Celestial: X (RA=0,DEC=0), Y (RA=6,DEC=0) , Z (North Celestial Pole) The X-Y plane is the Celestial Equator • Less common option  Ecliptic: Latitude and Longitude measured in ecliptic plane, Distance) Camera-centered coordinates: • Cartesian (default) and Spherical most common • Spherical: Azimuth (0=Y axis, 90=X axis), Elevation (0=X-Y plane), Distance Object-centered coordinates: • Relative (relative to the object itself): Right, Front, and Up 42 Digistar 6 Software Training Coordinate Options Cartesian: X (dome right), Y (front of dome), Z (into zenith) Spherical: Azimuth (0 at front of dome), Elevation, Distance 43 Digistar 6 Software Training Cartesian & Spherical EL = 90° +Z EL = -90° AZ = 90°, EL = -90° AZ = 0°, EL = 0° +Y +X Relative to Eye in Fixed, Landscape, and Near Modes 44 Digistar 6 Software Training Cartesian & Celestial Cartesian: X (dome right), Y (front of dome), Z (into zenith) Celestial: RA (X = First Point of Aries), Declination, Distance DEC = 90° (NCP) +Z DEC = -90° (SCP) RA = 0°, DEC = 0° RA = 6, DEC = 0° +Y +X Relative to Sun in Normal and Distant Modes Object Examples • Best practice for scripts and shows Make up a “meaningful name” and create the class object Then assign attributes, such as the specific model to use system reset mySputnik is SolidModelClass mySputnik model $Content\Library\Models\Spacecraft\Sputnik\Sputnik.x myCassini is SolidModelClass myCassini model $Content\Library\Models\Spacecraft\Cassini\Cassini.x • Discovering the correct class to use If you don’t know what class to use for a model, Digistar can tell you. Find the model in Windows. Drag-and-drop the model from Windows onto the DomeView, and read the Class Name. You can cancel the action once you’ve ascertained which class to use. 45 Digistar 6 Software Training User Object Example Seeing the newly-created user objects • Set a draw mode (this tells Digistar how to render object) • Position the objects where we can see them Scene add mySputnik # This command sets Normal Draw Mode. Position of sputnik is w.r.t. centre of Sun Scene add myCassini fixed # This command specifies Fixed Draw Mode. Position of cassini is w.r.t. the Eye camera mySputnik pos 0 10 20 # This gives sputnik an X-Y-Z position in space myCassini pos sph 0 35 1 km # This gives cassini a spherical position w.r.t the Eye Find mySputnik and myCassini in the Object Properties • Experiment with changing POSITION of mySputnik and myCassini. • Experiment with using Pan Mode in Dome View, which changes orientation of the Eye camera in the scene. 46 Digistar 6 Software Training User Object Example object GET [attribute|all] • The get command is used to query the system for information • Results appear in the Command Console • Retrieve settings and status for eye, object, scene, show, system, and more • The “ALL” qualifier will return all attributes and settings in command form • Users may specify the unit in which a value is reported Examples Jupiter get position Jupiter get position au eye get position earth get all io get position (try this with Io on and off) 47 Digistar 6 Software Training Helpful Commands: GET SYSTEM INFOPAGE [html or simple text file] • The specified file will be displayed in the Info Window SYSTEM PAUSE|RESUME • System Pause—suspends execution of real time processes. Users can manually interact with the system, but controllers will not execute. • System Resume—reanimates the system clock. Commands in the queue resume from the system’s current state. SYSTEM RESET—Deletes temporary objects, initializes system objects and resets controllers. • SYSTEM ResetNoAV—Does not change domeAudio and domeVideo • SYSTEM ResetALL—Also deletes persistent objects 48 Digistar 6 Software Training Helpful Commands: SYSTEM Declare the object as a dot with the “is” command mydot is dotClass Adjust the size of dot (default dotScale “1”) mydot dotscale 10.3 Position the object in 3D space mydot position 0 1 2 Add the object to the scene (tell Digistar how to draw it) scene add mydot Adjust attributes as desired such as texture, intensity mydot texture $content/library/images/textures/heart.dds mydot intensity 0 dur 5 Remove an object from the scene (still in memory) scene remove mydot Delete an object (removed from memory) mydot delete 49 Digistar 6 Software Training DotClass Example Script Files • A simple text file with a .ds extension • It’s a list of Digistar commands, which are often separated by time cues • Several ways to play a script:  By command in the Command Console, in a script, or executed by a Control Panel Button: script play path  Double-click the script if it is in the Digistar Library  Drag-and-drop the script onto the Dome View window “Main Script” File • This is a script that plays a series of subscripts • For example, scenes may be scripted and then run back-to-back Show Files • Shows are scripts that are intended to be “loaded” and controlled via the Show Time window 50 Digistar 6 Software Training Digistar Scripts & Shows Organizing Files • A standard organizational structure is used by E&S and the members of the Digistar Users Group. We highly recommend this recognizable hierarchy.  Create a project folder in $content/user, $content/shows or $content/trailers  Place the script, main script or show file in this folder  Place sub-folders in this project folder to organize custom images, models, audio, video and subscripts. Do not copy Digistar media or scripts to these folders; use the folders for custom content you add. Example: • Project folder  $content/shows/MyShow/ • Subfolders:  $Content/Shows/MyShow/audio/  $Content/Shows/MyShow/images/  $Content/Shows/MyShow/models/  $Content/Shows/MyShow/subscripts/  $Content/Shows/MyShow/video/ Relative paths can be used from within a script file e.g. ./images/Astronaut.jpg (from show folder) ../images/Astronaut.jpg (from subscripts folder) 51 Digistar 6 Software Training Best Practices Common main script or show file commands • SCRIPT PLAY path Commands after this line are executed normally Timing is optional; multiple scripts may even be started simultaneously if desired • SCRIPT INCLUDE path Script commands that follow this line are delayed the length of the included script • SCRIPT EXECUTE “command” This causes the command to be run on the system clock instead of the show clock If the show is paused, this command will continue to run unless the system is paused • SCRIPT END Indicates end of the script Digistar uses the timing of this command to determine length of script/show Digistar ignores any commands after this line If this is played as a show, the script end is the signal to Digistar to jump back to the beginning of the show 52 Digistar 6 Software Training Best Practices Naming Conventions • Make object names meaningful • Use conventions for abbreviations Comments • Include lots of comments! They can be in-line or separate • Comments begin with # or ; Script Format • Include header info including your name & what script does • TAB OVER commands (do not space!) Left column is for time Script Length • Keep show segments (scripts) short if possible • Fade-to-black and reset on occasion Makes programming, editing and re-use of segments in other shows easier Three 10 minute segments are easier to finish than one 30-minute segment 53 Digistar 6 Software Training Best Practices Convention within Scripts • Reserve the left-column for time code: tab over all commands • Uses format minutes:seconds[.hundredths] e.g. 8:03.1 or 54 Relative Time • A ‘+’ indicates the time is relative to the previous time command Absolute Time • Without a ‘+’ sign, the time is measured from the first line in the script Programmer Preferences • Both absolute and relative time may be used within a script • Relative time makes adjustments easy • Some prefer absolute time to sync events to a soundtrack 54 Digistar 6 Software Training Best Practices Both scripts contain the same basic commands, but… • The one on the right is hard to read and understand • It can be difficult to follow the commands in a script (especially late at night or six months after you wrote it!) • Take care to comment and properly format your scripts—it will save you time in the long run. 55 Digistar 6 Software Training Best Practices Good Example # # # # # This script turns on stars # # # # # and Milkyway 0:00 system reset +1 stars on +5 milkyway on +8 eye intensity 0 dur 2 +2 script end Messy and Hard to Read 0 system reset 1 stars on 0:06 milkyway on +8 eye intensity 0 dur 2 Moving and Orienting Objects • Position & Velocity • GoTo Controller • Attitude & Rotation • TurnTo Controller • Location and ViewLocation Controllers Color and Intensity Scale Resetting, Initializing and Deleting Objects Virtual Manipulation—Moving the Camera Instead Parent/Child Relationships • MoveTo Controller Where is Your Object? 56 Digistar 6 Software Training Basic Object Manipulation Objects have a position in 3-D space • Position and velocity for an object can be defined using Cartesian, celestial, spherical or relative coordinates. Remember Draw Mode determines if the origin is the Sun or Eye camera • The GoTo controller positions an object at another’s position. Objects have an attitude (orientation) in 3-D space • Attitude and rotational velocity for an object can be specified using either cartesian (heading, pitch, roll) or celestial attitude (e.g. rotating planets). • The TurnTo controller points an object at another object. Parent/Child • Objects may be linked together • The child object’s position is relative to the parent, and some attributes may be ‘inherited’ from the parent. • The MoveTo controller results in an object becoming the child of another 57 Digistar 6 Software Training Moving & Orienting Objects object POSITION X Y Z • Default coordinates are Cartesian; default unit is meters stars on eye pos 0 22 0 ly duration 3 eye pos 0 0 0 duration 3 Object POSITION CEL RA DEC Distance • RA (hours), Declination (degrees) & Distance (meters is default) eye pos cel 6 13.5 4 ly duration 3 Object POSITION SPH Azimuth Elevation Distance • Azimuth and Elevation are measured are in degrees • Azimuth (degrees), Elevation (degrees) & Distance (meters is default) Velocity and Step • Adding RATE to a position command puts an object in constant motion • Adding STEP to a position command makes object “jump” to new position 58 Digistar 6 Software Training Position and Velocity object1 GoTo object2 • Sets position of first object to match that of second object. Usually, for a model, the coordinates of its center defines its position. • The first object’s position is continuously updated to match the second object’s position until the GOTO controller is stopped object1 GoTo STOP • Stops the GOTO command; object is left at current position • Manually setting the position of the first object also cancels the controller DURATION • Optionally specifies travel time to the destination object system reset earth on sat_iss on eye goto sat_iss scene date rate 1 min 59 Digistar 6 Software Training GoTo Controller An object may be positioned with any of 5 coordinate systems • Cartesian, Spherical, Celestial, Ecliptic FIXED, LANDSCAPE and NEAR draw modes position with respect to the Eye camera NORMAL and DISTANT draw modes position with respect to Digistar’s World Space, where the Z axis points toward NCP and X points toward the First Point of Aries • Relative Relative coordinates are always with respect to the object itself (right, front, up) • The default linear unit is meters; other units must be specified • Common keyword abbreviations Celestial (CEL), Spherical (SPH), Relative (REL), Ecliptic (ECL) Durations • Flying Durations with position commands move an object from one position to another • Acceleration/deceleration Durations with a position rate command causes acceleration or deceleration, resulting in a new velocity. 60 Digistar 6 Software Training Position Reference object ATTITUDE Heading Pitch Roll • Heading (rotation around object’s Z) • Pitch (rotation around object’s X) • Roll (rotation around object’s Y) object ATTITUDE Celestial RA DEC Heading • orients an object with respect to astronomical coordinate system J2000 object ATTITUDE Relative Heading Pitch Roll (or RA DEC H) • orients an object with respect to its current attitude Rotation • ATTITUDE RATE (rotation) has same commands options as above • To stop rotation over time (with duration), use the same coordinate system used to establish the rotation for best results  e.g. eye att cel rate 1 0 0 --> eye att cel rate 0 0 0 dur 2 DURATION can be added to any of the above commands 61 Digistar 6 Software Training Attitude and Rotation object1 TurnTo target • First object’s Y-axis points toward position of target • First object’s attitude is continually updated to maintain orientation • Target may be a position or another object object. • Options  Specify another axis, e.g. eye TurnTo earth axis z  Add a roll parameter, e.g. eye TurnTo earth roll 40 • High-precision TurnTo replaces older Face controller object1 TurnTo STOP • stops the controller; object stops “following” the target DURATION can be used with TurnTo commands system reset earth on stars on eye turnTo earth axis +z roll 40 dur 5 scene date rate 5 62 Digistar 6 Software Training TurnTo Controller Object location lat. long. altitude azimuth [timezone] • Controls both position and attitude of an object • Keeps the object on the surface of a planet or moon oriented toward sky Default body (if none specified) is Earth Places the object (often the Eye) at the specified location Specifying timezone is optional for Earth locations; it is approximated if not specified. Azimuth of Object (e.g. Eye) may be changed without breaking location controller • eye location here Shortcut to use home position specified in theaterConfig.ds file Useful for shared scripts that should use local “home” location in other planetariums Object location body lat. long. altitude azimuth • Positions object on the surface of another body, e.g. Mars or Io • There is no option for timezones on bodies other than Earth (use UT time) 63 Digistar 6 Software Training Location Controller Object viewLocation lat. long. altitude azimuth [pitch] • Controls both position and attitude of an object • Places object above a location, generally looking down toward Earth  Pitch must be between 0 and 180  Change attributes by executing an updated command with duration, or use rate controller (wildcards optional) eye viewLocation 40 -111 4000 km 0 #default pitch is 90 degrees eye viewLocation * * * 2500 km 150 duration 8 #changes pitch & altitude • eye viewLocation here  Uses home position specified in theaterConfig.ds file • eye viewLocationPitch pitch  Can be used to change pitch while not affecting other attributes/controllers Object viewLocation body lat. long. altitude azimuth pitch • Places an object above a location on another body 64 Digistar 6 Software Training ViewLocation Controller The Eye can be controlled like other 3D objects • Cameras are invisible • Cameras have a position and orientation in space • Cameras have other basic attributes such as color and intensity Fading out the scene on the dome • Try eye color black dur 2 (another option: eye intensity 0 dur 2) Additional camera controls • Examples of some camera “tricks” (can use with any camera)  Eye separation value—adjust real-time 3D stereo effects  Eye precess on|off—enable or disable precession for the camera  Eye applySceneAttitude on|off—camera can ignore a nonzero scene attitude 65 Digistar 6 Software Training CameraClass Eye OFFSET X Y Z • Moves viewpoint from actual position of the camera (“third person POV”) Analogy • EYE is a cameraman with a full fisheye camera Eye offset 0 0 0 means cameraman has camera on his shoulder/at his position A nonzero offset means cameraman is extending his arm (he has an arbitrarily long arm)—for example, he can take a cosmic selfie! If offset is usually negative so that the position of the cameraman can be seen—for example, cameraman may be at center of Earth and hold his arm out far enough to take an Earth selfie! NOTE: rotating the camera means rotation around camera position—not fisheye lens system reset earth on eye goto earth eye offset 0 -2 -2 earth duration 4 1 1 eye att rate 3 0 0 66 Digistar 6 Software Training EyeCameras & Offset Object is CameraClass • Creates a “fulldome” real time camera (like the Eye) • Camera can be put anywhere in the universe • Add the camera to a scene and the dome  Note: You can layer camera outputs or crossfade cameras by turning intensity of one down while the other fades up Example start with stars and planets on mycam is cameraClass scene add mycam mycam int 0 dome add mycam mycam goto jupiter mycam offset 0 -3 -3 rjup mycam crossIntensity duration 4 67 Digistar 6 Software Training Custom Cameras Object COLOR R% G% B% • Color is R-G-B percentages: 100 100 100 is white; 0 0 0 is black. Decimal or Hex values may also be used A number of common color names, such as “blue”, are known to Digistar • Color is a multiplier. A white object can be set to any color, while objects with inherent color (e.g. a model’s textures) can only be modified. Any object can be set to 0 0 0. object INTENSITY value% • A value less than 100% causes the object to be (at least partly) transparent Example: • Place the space shuttle orbiter on the dome using the Library drag-and-drop feature. Orient the orbiter so you can see the bay doors. stars on orbiter color black dur 5 orbiter color yellow dur 5 orbiter intensity 0 dur 12 #notice transparency 68 Digistar 6 Software Training Color & Intensity Object SCALE value qualifier • When the value is a single number, object is scaled uniformly • The qualifier may specify a unit (e.g. rmars); the default is meters object SCALE X Y Z qualifier • The object may be stretched/distorted. The dimensions refer to the model itself, not its position or orientation. A Duration may be specified with the SCALE command. Examples • If Space Shuttle is not on the dome from previous slide, add it again orbiter scale 2 dur 8 orbiter scale 0.2 rearth dur 8 orbiter scale 2 1 1 dur 8 69 Digistar 6 Software Training SCALE Command If you don’t see an object on the dome, there may have been an accidental misstep while programming. This checklist often helps solve this problem: • Does the object exist? Is it listed in Object Properties? A “system reset” may have deleted it. • Is Digistar rendering it? If there is a Draw Mode, it should be listed in “Active Objects” in Object Properties • Is the intensity sufficiently high? (Try setting to 100%.) • Is it a color I can see? (Do you have a black object on a blank dome?) • Is it in front of me—and above the spring line? Check position and consider Draw Mode—if it’s with respect to Sun or Camera • Is it the right size to be seen by the Camera? Is it small and too far away? Is it inside another object, such as the Sun? Is it large and too close (are you inside it)? 70 Digistar 6 Software Training Where is My Object? Object1 ADD object2 • The command makes object1 the parent of object2 • Child objects inherit the draw mode of the parent • The child’s position and attitude is relative to its parent object1 REMOVE object2 • This command removes object2 as a child of object1 object1 REMOVE ALL • This command removes all chid objects from object1 Inherited Attributes • When one object is added to another, some attributes are inherited unless or until they are set explicitly  In Object Properties, a “-1” value indicates an attribute is inherited • Examples of inherited attributes include color, scale, and intensity 71 Digistar 6 Software Training Parent/Child Objects Object1 MoveTo object2 • Controls the position of an object • Positions the first object at the location of the second object, like GoTo • Object1 becomes a child of object2 object1 objectspace global • This places the object1 back as child of scene/changes its parent  Digistar changes the position coordinates so that the transfer is seamless Optional DURATION • Specifies travel time to the destination object; flight uses navigation features system reset planets on stars on eye moveTo mars dur 10 2 2 eye offset 0 -3 -3 rmars #don’t forget to control offset scene date rate 2 min eye objectspace global 72 Digistar 6 Software Training MoveTo Controller A Scene is used to group objects to be rendered together • Objects are added to a scene, and a camera can view them together • The scene’s attributes can be adjusted in real time • Scene attributes may globally affect objects in the scene  For example, changing the scene date affects positioning of many astronomy objects • There is always a date and time associated with a scene, though the date and time may have no effect on what is seen The Scene is a Parent • Objects added to the scene are effectively children of the scene The default Scene contains the default Eye camera Users may create additional scenes • For example, myScene is sceneClass 73 Digistar 6 Software Training Working with a Scene Scene date YYYY-MM-DD HH:MM:SS [local] • Sets the simulated date and time within Digistar • If only a day is specified, the time is set to Midnight (UTC) • Time is assumed to be UTC unless the local qualifier is added Scene date TODAY HH:MM:SS • Sets date to that of Host computer • If time is specified, it is local time by default • optional keywords include sunrise and sunset, with offsets Scene date RATE value • The rate at which time passes (days/second unless specified) Scene date STEP value DUR timestep • The size of a step forward or back in time (days/second default) • Using duration causes continuous steps with specified interval 74 Digistar 6 Software Training Date & Time scene date today 12:00 #noon at your home location scene date 2012-01-01 12:00 #noon UT on Jan 1, 2012 scene date 2012-01-01 12:00 local #noon local time 1 Jan 2012 scene date today sunset #sunset today scene date today sunrise +1.25 #1:15 after sunrise scene date today sunset -12 degrees #Sun 12 degrees below scene date today transit #Sun on meridian scene date today +7 sunrise #Sunrise one week from today scene date tomorrow transit -10 degrees #tomorrow, Sun near meridian scene date 245145.5 #Set time using Julian date eye location annual on #do not rotate with planet; slide along latitude eye location annual off #rotate with planet scene date rate 1 #default is days; sets time moving at 1 day/sec scene date rate 1 min #sets time moving at 1 min/sec scene date rate *+1 min #increases current time rate by 1 minute/sec scene date step 2 day dur 0.2 #jump time forward 2 days every 0.2 sec 75 Digistar 6 Software Training Date & Time SCENE ATTITUDE Heading Pitch Roll • Adjusts observing orientation without changing the orientation of the eye • Can compensate for tilted domes by pitching the zenith • Can tilt the coordinate system so that the “FACE” command places objects at desired locations on the dome SCENE ATTITUDE 0 0 0 • Default orientation of the observer and coordinate systems Example system reset stars on m1 on eye turnTo m1 axis +z duration 6 1 1 m1 magnification 350 scene attitude 0 45 0 duration 4 1 1 76 Digistar 6 Software Training Scene Attitude SCENE AMBIENT R% G% B% • Active if there is a light in the scene  Normally, there is a light in the scene: Sunlight • Allows user to adjust the ‘global’ lighting in the scene • Lighting affects geometric surfaces of a model • Default setting is 0 0 0 77 Digistar 6 Software Training Scene Ambient SCENE DEPTHCUE on/off • Default setting is off SCENE DEPTHSCALE N • Sets the order of magnitude of the depth cueing that you want to see SCENE DEPTHPOWER N • Sets the exponent for light fall off (1 / 10^N); larger numbers cause light to fall off more sharply. EXAMPLE Set up scene viewing solar system orbits. scene depthCue on scene depthScale 10 au Adjust depthScale and depthPower to view effects on the scene. 78 Digistar 6 Software Training Scene Depth Cue Dome View tool can be used to pan and zoom SCENE ZOOMATTITUDE value1 value2 • Sets the position on the dome on which to zoom • First value is azimuth angle (0 is front of dome) • Second value is elevation angle from zenith to spring line SCENE ZOOMFOV angle • Default value (180 degrees) is 180 degrees of sky filling the dome • Values smaller than 180 to zoom into sky Example system reset system eveningsky scene zoomattitude 45 45 scene zoomFOV 75 duration 3 79 Digistar 6 Software Training Scene Zoom Method #1: Control Proper Motion within the Scene Date • SCENE PROPERMOTION on/off  Checkbox is on Date & Time astronomy control window  Default setting is off  Turning this on links star and constellation proper motion effects to scene date Method #2: Control Proper Motion of Stars Directly • STARS PROPERMOTION on/off  Default setting is off  This allows direct adjustment of proper motion of the stars independent of scene date  Constellations are unaffected • STARS mJULIANYEAR n  Default setting is zero (J2000)  Allows adjustment of proper motion in millions of years (N=1 is one million years after J2000; N=-2 is two million years before J2000) 80 Digistar 6 Software Training Proper Motion SCENE RESET • Resetting the scene sets all scene attributes to default values SCENE INIT • Resets the scene • Removes all parents and children of the scene SCENE DELETE • Deletes user-made scenes • The default “Scene” cannot be deleted 81 Digistar 6 Software Training Scene Reset, Init, Delete Supported Formats • For the most recent list of supported formats for images, video and audio, consult Digistar Help as the list frequently is expanded • Media may be loaded from the Host, GP, external disk or Internet. (Images on GP hard drives load the fastest.) Using Virtual Projectors • Virtual Projectors (VPs) are models that are designed for display of images and video on the dome • The shape of the VP determines how the media appears on the dome; for example, a hemispherical VP displays an all-sky Using domeVideo and domeAudio objects • These objects are added to the dome • domeVideo is the object used for full dome video • domeAudio is the object used for soundtracks and music 82 Digistar 6 Software Training Images, Video & Audio A texture resource is an image mapped onto a surface of an object • Textures can be an image, collection of images or video Texture resources allow the user to simultaneously use and swap many textures on one or more objects Example: imageClass • This class is loads images that can be used as texture resources • Basic example  Advanced attribute: set the maxresolution, if desired, before setting path  Advanced attribute: use UV to modify the texture coordinates myPic is imageClass myPic path $Content\Library\Images\mccandless.jpg 83 Digistar 6 Software Training Texture Resources Resources can be displayed as a texture on objects For convenience, several models (VPs) are available to project pictures, full or partial panoramas, all skies, etc. • For example, image.x is a flat, square model for displaying a picture (scale to match any aspect ratio) Example • Continued from previous page myPicModel is $content\library\models\misc\image.x myPicModel position sph 0 25 15 myPicModel turnTo pos 0 0 0 scene add myPicModel near myPicModel modelTexture 0 myPic 84 Digistar 6 Software Training Displaying Images Many models in $content/library/models/misc/ • Rectangular Model  image.x (Flat rectangle, image both sides) • Frame for Rectangular Model  image_frame.x (convenient as child of the image.x model) • All Sky  image_hemisphere.x (Half sphere, image inside) • Panorama  image_full_panorama.x (Full 360-degree panorama • Full Sphere  image_sphere.x (viewing from inside sphere) • Globe  image_globe.x (viewing from outside sphere) Additional models in $content/library/models/misc/ 85 Digistar 6 Software Training Frequently Used VPs Slidesets are collections of images An optional slideset file specifies images their order • The format is a simple text file with extension .SLS • Each line in the file is the name or full path of an image  Full path name is necessary for images not in the directory of the .SLS file A slideset may be created with all images in a folder by specifying the path as the folder name • Order of images will be alphabetical The slideset is a texture resource which can be put onto an object By default, all images in the slideset are not loaded into memory • This allows large slidesets • Option exists to “load all frames” if needed 86 Digistar 6 Software Training Slidesets Basic slideset control • Set the slideset to any frame to show that image • Slideset frames start at 0 (first image is frame 0) • Play or loop a slideset with specified onTime and fadeTime AspectMode attribute • Auto-stretch image to fit model or scale model to fit image Transition and Dissolves • Transitions include Fade, Morph, Wipe, Dissolve • Dissolve works when a dissolve texture file is specified Example myslideset is slidesetClass myslideset path $Content\Library\Images\DeepSpace\NGC myslideset frame 3 myslideset loop myslideset aspectMode uniform 87 Digistar 6 Software Training Slidesets Selecting an Image Resolution • Determine the vertical dome coverage of the image (in degrees). • Convert to percent of dome covered. • Multiply this percentage by the resolution of your system. Example • In the picture at right, Saturn spans roughly 18º. That is 10% of the dome diameter (180º). • If we assume a dual JVC system, the image of Saturn should be 10% of 4096 pixels, or about 410 pixels tall. • You may want more resolution if the image will be zoomed in. 88 Digistar 6 Software Training Resolution of Images For production reference (not precise system resolution) SP2HD: 1920 pixels SP2 HDQ: 2560 2Sony/2JVC/Laser: 4096 “8K” ~6500 True8K 8192 Memory Management in Graphics Cards • When Digistar requests an image, the graphics cards in each PC load the image from disk or a network location. • Each graphics card reserves a memory block to hold the image; the size is always a power of 2 in each dimension. • Additional considerations increase memory used by 4 x root(2) • Memory use examples:  A 437x600 pixel-image uses a block 512x1024; memory used is about 3 MB  A 1024x1024 image uses a block 1024x1024; memory used is about 6 MB  A 1025x1025 image uses a block 2048x2048; memory used is about 24 MB  A 2560x2560 image uses a block 4096x4096; memory used is about 95 MB  An image that uses a block 8192x8192 uses about 380 MB of video memory! D6 can downsample images as they are loaded • Digistar still must read the full image and calculate downsampling 89 Digistar 6 Software Training Efficiency of Images 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192,… Drawing Order • The order in which items are drawn by the graphics hardware can affect the appearance of an object on the dome • Controlling visual appearance with Draw Modes  Selecting a Draw Mode (e.g. Near, Normal) gives some control over draw order  Within a Draw Mode, objects can be loaded in a desired order Images with Alpha-Channel • On occasion, an image with an alpha-channel drawn may not display correctly when layered with other items; this is due to the way various models are created and how graphics cards handle alpha-channel info • Typically, images with alpha-channel should be drawn last 90 Digistar 6 Software Training Appearance of Images DomeVideo object must be added to the dome • dome add domeVideo  Optional: decide where to layer video in the composition  The composition is rendered based on the order things are added to it Load and Control Video Playback • domeVideo path fullpathtovideo.mpg  Do not include channel numbers in the domeVideo path command • domeVideo controls include  play, loop, time (cueing), playStatus, intensity, frameRate and more Optional Embedded Audio • If audio is embedded in the video file, a copy of the video must be placed on the audio computer and the volume controlled by domeVideo volume. 91 Digistar 6 Software Training Full Dome Video Full Dome Video • SP, SP2 and SP2HD use dome master videos (channel0) on all channels • File names follow a standard that allows one command to load appropriate videos on all GPs and Host (for Dome View)  SP2 HD systems have channel zero on both GPs  Multi-channel systems have different “slices” of the dome master video on each GP system reset dome add domeVideo domeVideo path $[fullpath not including channel number] domeVideo play 92 Digistar 6 Software Training Full Dome Video videoClass can be used to load video objects to be used as textures • VideoClass controls include play, loop, frameRate, time (cueing), playStatus and volume (for embedded audio) • Video and image texture resources work similarly videoClass Example • Continues from earlier imageClass example myVid is videoClass myVid path $Content\Library\Video\Digistar.mpg myPicModel modelTexture 0 myVid myVid play 93 Digistar 6 Software Training Video Texture Resources DomeAudio object must be added to the dome • dome add domeAudio • Almost any valid Windows audio file can be used; the system supports up to multi-channel 7.1 audio Embedded Audio • If audio is embedded in the video file, no audio object is needed AudioClass • AudioClass objects can be mono or stereo; often used for sound fx WMPlayer • Plays video files on the Host and is not affected by system resets system reset dome add domeAudio domeAudio path $Content\Library\Audio\8 Channel Audio ID.wav domeAudio play 94 Digistar 6 Software Training Audio Example The master volume on the Main Tool Bar adjusts the overall volume of the audio mix and is NOT reset with system reset. • astroImageClass • audioClass & domeAudioClass • CameraClass • captureClass • cloudClass • connectorClass • dotClass • dotCloudClass • dotModelClass • duModelClass • emptyClass • imageClass • lightClass • lineModelClass • meteorShowerClass • particleClass • planetClass • sceneClass • slidesetClass • SolidModelClass / daylightSolidModelClass • starClass • starTextureClass • systemClass • textClass, text2Class • textureCompositionClass • trailClass • videoClass & DomeVideoClass • D4 legacy: atmosphereClass • D4 legacy: auroraClass 95 Digistar 6 Software Training Built-in Object Classes a partial list! Trails in D6 • TrailClass objects can be created like any other object in D6 • TrailClass objects can be used as follows:  They can be added to the scene and told to GOTO an object  They can be added as a child of another object  They can be added to the scene and independently moved 2D and 3D trails • Screenspace on (default): trail drawn when moves relative to dome • Screenspace off: trail left when object moves relative to Sun Unique trail attributes • Frame: number of real time frames (there are 60/second) between trail segments • Age/Lifespan: trail tapers out, is “infinite” when age is on • Trails can be dots or lines 96 Digistar 6 Software Training TrailClass Screenspace Example: Analemma scene date today 12:00 system skyon sunTrail on scene date step 2 dur 0.3 Screenspace Off Example: Io’s Trajectory jupiter on io on eye goto jupiter eye offset 0 -5 -5 rJup myTrail is trailClass myTrail screenspace off myTrail frame 1 io add myTrail scene date rate 5 hours 97 Digistar 6 Software Training TrailClass Try setting sunTrail from line to dots. Increase frame rate when using dots to space them out. Decrease frame rate when using lines to obtain smoother curves. Documentation is available through Digistar Help • Use the drop-down menu to launch Help  “How To” section includes detailed tutorials  Includes Class Reference, Command Reference and Developer Documentation  Documents are searchable and printable • PDF versions of documentation are on E&S Customer Portal Sample Scripts on your Digistar system • $Content\Library\Tutorials\ • $Content\Library\Vignettes\ • $Content\Library\ATP\CAT\ 98 Digistar 6 Software Training Help & Resources All Digistar customers can use the Portal • www.es.com (top right of every page is a link) • Create your account, login, and recover/reset login information here 99 Digistar 6 Software Training E&S Customer Portal Help Tickets • Create a Help Ticket and access information in previous tickets • Ticket can be for reporting problems, asking software or hardware question, making enhancement requests and more Resources • Newsletter Archive • Webinar Archive • Technical Notes Software and Documentation • Latest software release is visible to customers under warranty or with a current service agreement • Operation & Maintenance reference materials • This option is typically active for site technicians 100 Digistar 6 Software Training E&S Customer Portal The DUG Community • An independent, non-profit association of Digistar owners and users • Institutions, not individuals, are members of DUG DUG Benefits • DUG has an e-mail group, Blog, Wiki, community support, and a Library with over 10,000 models and scripts that are freely shared for as long as the sites maintain membership (as of January 2017: $20/year) Participation • First-year membership is included with initial purchase of Digistar • E&S supports the DUG organization by responding to recommendations and encouraging all Digistar users to maintain their DUG membership and attend annual meetings • Go to www.digistardomes.org for more information 101 Digistar 6 Software Training Digistar Users Group