Difference between revisions of "Spatial Objects"

From Constructive Labs
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Spatial->Visual''' - are objects you can see. You can add new objects to your zone with the STORE/ADD menu.
+
You can add new objects to your zone with the STORE/ADD menu. '''Spatial->Visual''' - are objects you can see.  
  
 
[[File:SpatialVisual.png]]
 
[[File:SpatialVisual.png]]
Line 8: Line 8:
 
* '''Mesh''' an object that is a 3D model imported from a Collada (.dae) file (default model is a jacks game piece)
 
* '''Mesh''' an object that is a 3D model imported from a Collada (.dae) file (default model is a jacks game piece)
 
* '''Entity''' an object that is an animated 3D model imported from a Collada (.dae) file. Entity: Mesh which has animation.  Methods are there for playing animations, etc.  You can load a mesh with animations into a Mesh, but then you just get a static Mesh. Only Entity lets you see and play with animations. (default model is a teddybear)
 
* '''Entity''' an object that is an animated 3D model imported from a Collada (.dae) file. Entity: Mesh which has animation.  Methods are there for playing animations, etc.  You can load a mesh with animations into a Mesh, but then you just get a static Mesh. Only Entity lets you see and play with animations. (default model is a teddybear)
* '''Skybox''' - this object has an image that surrounds the zone
+
* '''Skybox''' - this object has an image that surrounds the zone - this is what you see in the distance when you are in a zone. The default is a cloudy sunset. This image is a jpg or png image that is 4096 x 3072. you change the image by altering the ResourceLocator property of the skybox0 object using the PropertyEditor.
  
 
=Buttons=
 
=Buttons=
Line 37: Line 37:
 
=Constraints=
 
=Constraints=
 
All Objects: three flags have been added to all spatial objects.  They are:
 
All Objects: three flags have been added to all spatial objects.  They are:
* ExcludeUsersFromVolume (no users will be permitted to move inside the volume) - they will "bounce back" if they attempt to enter  
+
* ExcludeUsers (no users will be permitted to move inside the volume) - they will "bounce back" if they attempt to enter  
* ExcludeOtherObjectsFromVolume - this does the same thing for other moving objects, like things you grab, path moves, etc.   
+
* ExcludeOtherObjects - this does the same thing for other moving objects, like things you grab, path moves, etc.   
 
* ExcludeWhenInvisible - this means that even when you make an object Visible = false, exclusion still works.  So, you can make an invisible collision volume.
 
* ExcludeWhenInvisible - this means that even when you make an object Visible = false, exclusion still works.  So, you can make an invisible collision volume.
  
Zone: the flag DissallowFreemove has been added.  When this is on, users in the zone cannot fly but are forced to move around on the ground or using waypoints.
+
Zone: the flag DisallowFreemove has been added (not currently in the PropertyEditor).  When this is on, users in the zone cannot fly but are forced to move around on the ground or using waypoints.
  
 
=System Objects=
 
=System Objects=
* '''Zone''' - the scene that all the objects and the user are contained in
+
* '''Zone''' - the scene that all the objects and the user are contained in. Useful properties are Spawnlocation and SpawnRotation - where the user appears when first entering the zone
* '''User''' - this object is named with the name of the current user - it has the user's position and rotation
+
* '''User''' - this object is named with the name of the current user - it has the user's position and rotation properties
* Axes
+
* Axes - displayed in Translate mode
* Rotation Axes
+
* Rotation Axes - displayed when the Rotate mode is active
 
* Cube arrow
 
* Cube arrow
* Scale Axes
+
* Scale Axes - displayed when the Scale mode is active
* QuadButton
+
* QuadButton - flat two-state buttons used on the wrist menu
* cage
+
* Cage - used to display a bounding box
 +
 
 +
Next: '''[[Non-Spatial_Objects]]'''

Latest revision as of 13:49, 17 February 2023

You can add new objects to your zone with the STORE/ADD menu. Spatial->Visual - are objects you can see.

SpatialVisual.png

Basic Spatial Objects

  • Primitive shapes: Sphere, Cube, Cone, Ring, Torus, Tube, Arrow, Trunc, HermiteTube
  • Quad - a basic rectangle with no thickness
  • TextQuad - a label you can add text to
  • Mesh an object that is a 3D model imported from a Collada (.dae) file (default model is a jacks game piece)
  • Entity an object that is an animated 3D model imported from a Collada (.dae) file. Entity: Mesh which has animation. Methods are there for playing animations, etc. You can load a mesh with animations into a Mesh, but then you just get a static Mesh. Only Entity lets you see and play with animations. (default model is a teddybear)
  • Skybox - this object has an image that surrounds the zone - this is what you see in the distance when you are in a zone. The default is a cloudy sunset. This image is a jpg or png image that is 4096 x 3072. you change the image by altering the ResourceLocator property of the skybox0 object using the PropertyEditor.

Buttons

  • MomentaryButton a pushbutton that can be used to momentarily cause an action, like a doorbell button does.
  • ToggleButton a pushbutton that toggles something between two states, like a lightswitch turns a light on and off.

SpatialButtons.png

  • Containers->Composite - for grouping objects. A composite object is used as the parent to a group of objects. The child objects act as a group and move and change together with the composite parent object. You must assign an object as a child of a composite to make it a part of the group. You do that in the PropertyEditor. Select the object you want to add to a composite, group Click the button labeled Change Parent. You will then choose the parent Composite object from a list.
  • CollisionTrigger - sends a message when an object collides with it - needs to be wired to things to be useful
  • Gui->GuiKeyboard - displays a keyboard to type on - needs to be wired to things to be useful

Sound & Light

  • Sound - add an object that plays audio
  • Lights - objects that emit light to illuminate the scene

Movement spatial objects

SpatialAnimation.png

  • Animation->timeline - needs to be wired to things to be useful
  • GroundPlane - this is basically like a quad. You put these down and then whenever the user is over them, they will move at a particular height about that (their head height). these are used to lock the user to "walking on the ground"

Waypoint - this controls the movement of any object on a "path". Waypoint again controls the facing of the thing moving on the path - there are options for the time to get to the waypoint, time to rotate to the orientation and smoothing (currently the smoothing options do not work). All Spatial objects now have two added fields - CurrentWaypointName - this the name of the Waypoint they are moving to, and MovingToWaypoint (whether they are moving to it or not) along with corresponding inputs to manipulate this. Waypoints have a NextWaypoint field - this controls the next waypoint to go to after the object has reached this waypoint. This can be the name of a single waypoint in the scene, or it can be a CSV list of waypoint names. If a CSV list, it will select a next waypoint from the list at random. I may later add a probability to the waypoint, so you can control the frequency with which it selects paths.

WarpMarker - this is a small box with a direction vector to which we will eventually apply fancy shaders. Direction vector will be displayed . when you ray it and click, it will place you there. It will eventually adjust for player height, etc, so put them on the ground. You can control the facing of the player by turning it around and setting "Reorientuser" or leave them in their current orientation if that is false. Orientation not displayed at "play" time.

Note: You can have a warp marker on a vehicle. IE, you made a composite, then you parented the warp marker to the composite, and the model to that. then, if you animate the composite, the warp marker will move with it. Net effect: you can get on a vehicle by clicking on the warp marker. Then you are on the vehicle and will move with it. Get off the vehicle with another warp marker at the other end.

Constraints

All Objects: three flags have been added to all spatial objects. They are:

  • ExcludeUsers (no users will be permitted to move inside the volume) - they will "bounce back" if they attempt to enter
  • ExcludeOtherObjects - this does the same thing for other moving objects, like things you grab, path moves, etc.
  • ExcludeWhenInvisible - this means that even when you make an object Visible = false, exclusion still works. So, you can make an invisible collision volume.

Zone: the flag DisallowFreemove has been added (not currently in the PropertyEditor). When this is on, users in the zone cannot fly but are forced to move around on the ground or using waypoints.

System Objects

  • Zone - the scene that all the objects and the user are contained in. Useful properties are Spawnlocation and SpawnRotation - where the user appears when first entering the zone
  • User - this object is named with the name of the current user - it has the user's position and rotation properties
  • Axes - displayed in Translate mode
  • Rotation Axes - displayed when the Rotate mode is active
  • Cube arrow
  • Scale Axes - displayed when the Scale mode is active
  • QuadButton - flat two-state buttons used on the wrist menu
  • Cage - used to display a bounding box

Next: Non-Spatial_Objects