Logic Block Triggers

This is the list of Triggers found in the Logic Block. Use the Triggers to complete an expression.

Player

Player Width

The trigger is based on the width of the player.

Player Height

The trigger is based on the height of the player.

Player Aspect Ratio

The trigger is based on the player’s aspect ratio. This is helpful when you want to detect the player’s orientation.

For example, if you want to check if the player is in landscape orientation (the player’s width is greater than it’s height), the expression would look like this:

Trigger Comparison Value Operation
Player Aspect Ratio > 1

For portrait orientation, when the width is less than the height, it would be:

Trigger Comparison Value Operation
Player Aspect Ratio < 1

And for a square aspect ratio, use =:

Trigger Comparison Value Operation
Player Aspect Ratio = 1

Fullscreen

The trigger is based on the player being in Fullscreen or not.

View Mode

This trigger will be based on the current view mode: Continuous or Drag Mode. The view mode refers to how the panorama rotates when the user interacts with it.

View State

For Object2VR and triggering its current view state.

Poly Mode

This is based on the currently active polygon hotspot’s View Mode. You can use this to show/hide buttons whose actions are to show and hide the polygon hotspots.

For example:

Trigger Comparison Value Operation
Poly Mode = Show Current
Visible: False

Is Mobile

Use this trigger to initiate the logic block based on the mobile device being used (iOS, Android and IE Mobile).
★ Does not work with iPadOS as it reports as a desktop. Use Has Touch instead.

One example of use would be to hide tooltips when a touch device is being used.

Trigger Comparison Value Operation
Mouse Over Parent = True AND
is Mobile = False
Visible: True

Has Touch

The Has Touch trigger is used for touch events. iPadOS for instance opens a desktop browser by default, so using isMobile may not work globally for all touch devices.

Gyro Available

This trigger will detect if the gyroscope on a mobile device is available. Some mobile devices will not allow access to the gyro. For example, you can use this trigger to show a text box that explains access to the device’s gyro is not allowed.

Another example is to use with a gyro button so that on a device where the Gyro is not accessible, like the Oculus Go, it won’t appear.

★ The gyrocscope will only work if the project is hosted on a secure site.

Gyro Active

This trigger will react to the gyro’s status (on or off). See: Gyro skin action.

VR Available

Checks to see if VR is available or if the viewing device supports VR.

VR Active

Checks to see if the player is currently in VR mode.

Mouse

Mouse Over

When the mouse hovers over an element it will trigger an event.

Mouse Down

When the mouse clicks on or presses down on an element it will trigger an event. For a touch device, this event happens when the element is tapped or touched.

Mouse Over Parent

Add this trigger to an element that is a child of a parent. When the mouse hovers over the element’s parent, it will trigger an event. An example of use is to show/hide hotspot tooltips, where the text box for the tooltip is the child of the hotspot template.

Mouse Down Parent

Add this trigger to an element that is a child of a parent. When the mouse clicks or pressed down on the element’s parent, it will trigger an event.

View

Pan

The trigger is based on the angle of rotation for the pan movement (left/right).

Tilt

The trigger is based on the angle of rotation for the tilt movement (up/down).

FoV

The trigger is based on the angle of view (zoom).

Projection

Use this trigger to control skin elements depending on if the view is or is not in a certain projection.

Auto Rotating

With this trigger, you can create an event if the panorama is currently auto-rotating (true) or not (false).

Tour (Pro)

Is Tour

Is Tour will react to a project being a tour or not. If the project has a single node it is false; for a project with multiple nodes it is true.

Visited

This trigger is based on a node being visited (or viewed) or not. An example of use would be to apply this to a graphic that indicates to the user they have already visited a node in a tour.

The visited state can be cleared from a tour by adding a button with the action, Go to URL and entering javascript: player.clearVisitedNodes(); in the URL field.

Tags

If the panorama has tags, this trigger will be based on the defined tags.

Node ID

Node ID will react to the specified ID of a tour node. Node IDs can be found in the tooltip box when the mouse hovers over the node in the Tour Browser. But, first, be sure to have Show internal node ID selected in Pano2VR’s advanced settings.

Node ID in Tooltip

As an example, you could use this trigger to hide buttons for certain nodes in a tour. Select a button in the skin. In the Visible setting, add a Logic Block. Use Node ID as the trigger, = for Comparison and the value would be the node ID of the node that should have the button hidden.

Trigger Comparison Value Operation
Node ID = node1
Visible: False

State

Loading

The trigger is based on if the panorama is loading or not.

Loading Tiles

The trigger is based on the tiles being loaded.

Active

The trigger is based on the element being active or not. The Timer element uses a logic block and it can be used to hide elements in the skin. For example, adding an element as a child to the Timer will allow the timer to hide the element after it times out. Once the timer is no longer active, the element attached to it will hide.

Cloner

These triggers will only be available if a table type cloner has been added to the skin. They can be applied to children of cloners and react to the properties of the current cloned instance.

Cloner Count

A trigger based on the number of nodes in a category.

Cloner Index

This trigger is based on the index of a cloned element in a cloner. The first element has an index of 0, the second has an index of 1, etc.

Cloner Tag

A trigger based on tags used in the cloner table.

Cloner Title

A trigger that uses the title added to the cloner table.

Advanced

Host

Use the Host trigger to show and hide skin elements based on the project’s host location. Add the hosting domain to Value.

This way, you can change an element’s attribute depending on which domain the project is served from which means you can create domain locks, or change colors based on domain or if you use a mobile domain, you can show and hide certain elements just for mobile displays.

To show an element based on a specified domain, deselect Visible and add a logic block:

Trigger Comparison Value Operation
Host = ggnome.com
Visible: True

Operating System

The Operating System trigger reacts to the chosen operating system. Choose from the list in the value column.

✭ If you’re having issues with the is Mobile trigger on Android, try using this trigger instead.

Browser

The Browser trigger will react to the chosen browser. For the value, choose from a list of browsers.

Variables

Any variables that have been added to the skin properties will be listed here. Variables can also be used as values. Right-click in the Value column to choose the variable.

Placeholders

Placeholders for hotspots and user data can be used as triggers within logic blocks. This means the logic block can detect user data and hotspot entries.
They can also be used as Values. Right-click in the Value column to choose the placeholder.

Hotspots

  • $(hs) = hotspot title

  • $(hd) = hotspot description

  • $(hu) = hotspot URL

  • $(ht) = hotspot target

  • $(hDm) distance in meters

  • $(hDk) distance in kilometers

  • $(hDf) distance in feet

  • $(hDmi) distance in miles

  • $(hDy) distance in yards

User Data

  • $(ut) = user data title

  • $(ud) = user data description

  • $(ua) = user data author

  • $(ue) = user data date/time

  • $(uc) = user data copyright

  • $(us) = user data source

  • $(ui) = user data information

  • $(uo) = user data comment

  • $(lat) = user data latitude

  • $(lng) = user data longitude

  • $(un) = user data custom node ID

User Data Project

  • $(upt) = user data title

  • $(upd) = user data description

  • $(upa) = user data author

  • $(upe) = user data date/time

  • $(upc) = user data copyright

  • $(ups) = user data source

  • $(ui) = user data information

  • $(upo) = user data comment

Example

A hotspot template may have a text box that displays a tooltip for the hotspot title. But, there may be an instance where the title is missing. For instance, if you have a tour and some nodes have titles missing, then you’ll see an inconsistency in the tooltips; some will be populated, others will be empty. To prevent this, you can use placeholders as triggers in a Visible logic block that will hide the text box altogether if nothing is detected in the User Data’s Title field.

Add a text field as a child to a hotspot template. In the text field’s appearance parameters, add a logic block to the Visible setting (which is selected) and create the following expression

Trigger Comparison Value Operation
hotspot title $(hs) =
Visible: False

This states that if the title text field of a hotspot is empty, then the text box should not be visible.


See also