Skip to content
Snippets Groups Projects
index.md 15.6 KiB
Newer Older
Brian Peiris's avatar
Brian Peiris committed

# Component Docs
- Systems
  - [app-mode](#systems/app-mode)
  - [exit-on-blur](#systems/exit-on-blur)
  - [personal-space-bubble](#systems/personal-space-bubble)
- Components
  - [app-mode](#components/app-mode)
    - [app-mode-toggle-playing](#components/app-mode/app-mode-toggle-playing)
    - [app-mode-toggle-attribute](#components/app-mode/app-mode-toggle-attribute)
    - [app-mode-input-mappings](#components/app-mode/app-mode-input-mappings)
  - [avatar](#components/avatar)
    - [networked-audio-analyser](#components/avatar/networked-audio-analyser)
    - [scale-audio-feedback](#components/avatar/scale-audio-feedback)
    - [avatar-replay](#components/avatar/avatar-replay)
    - [bone-mute-state-indicator](#components/avatar/bone-mute-state-indicator)
    - [bone-visibility](#components/avatar/bone-visibility)
    - [character-controller](#components/avatar/character-controller)
    - [hand-pose](#components/avatar/hand-pose)
    - [hand-pose-controller](#components/avatar/hand-pose-controller)
    - [ik-root](#components/avatar/ik-root)
    - [ik-controller](#components/avatar/ik-controller)
    - [networked-avatar](#components/avatar/networked-avatar)
    - [player-info](#components/avatar/player-info)
    - [spawn-controller](#components/avatar/spawn-controller)
  - [avatar/personal-space-bubble](#components/avatar/personal-space-bubble)
    - [space-invader-mesh](#components/avatar/personal-space-bubble/space-invader-mesh)
    - [personal-space-invader](#components/avatar/personal-space-bubble/personal-space-invader)
    - [personal-space-bubble](#components/avatar/personal-space-bubble/personal-space-bubble)
  - [environment](#components/environment)
    - [hide-when-quality](#components/environment/hide-when-quality)
    - [layers](#components/environment/layers)
    - [nav-mesh-helper](#components/environment/nav-mesh-helper)
    - [scene-shadow](#components/environment/scene-shadow)
    - [spawn-point](#components/environment/spawn-point)
Brian Peiris's avatar
Brian Peiris committed
  - [gltf](#components/gltf)
    - [gltf-bundle](#components/gltf/gltf-bundle)
    - [gltf-model-plus](#components/gltf/gltf-model-plus)
  - [misc](#components/misc)
    - [animation-mixer](#components/misc/animation-mixer)
    - [matcolor-audio-feedback](#components/misc/matcolor-audio-feedback)
    - [css-class](#components/misc/css-class)
    - [duck](#components/misc/duck)
    - [event-repeater](#components/misc/event-repeater)
    - [loop-animation](#components/misc/loop-animation)
    - [offset-relative-to](#components/misc/offset-relative-to)
  - [network](#components/network)
    - [block-button](#components/network/block-button)
    - [freeze-controller](#components/network/freeze-controller)
    - [mute-mic](#components/network/mute-mic)
    - [networked-counter](#components/network/networked-counter)
    - [networked-video-player](#components/network/networked-video-player)
    - [super-networked-interactable](#components/network/super-networked-interactable)
    - [super-spawner](#components/network/super-spawner)
  - [ui](#components/ui)
    - [hud-controller](#components/ui/hud-controller)
    - [icon-button](#components/ui/icon-button)
    - [in-world-hud](#components/ui/in-world-hud)
    - [text-button](#components/ui/text-button)
    - [visible-while-frozen](#components/ui/visible-while-frozen)
    - [ui-class-while-frozen](#components/ui/ui-class-while-frozen)
  - [user-input](#components/user-input)
    - [cardboard-controls](#components/user-input/cardboard-controls)
    - [controls-shape-offset](#components/user-input/controls-shape-offset)
    - [cursor-controller](#components/user-input/cursor-controller)
    - [hand-controls2](#components/user-input/hand-controls2)
    - [haptic-feedback](#components/user-input/haptic-feedback)
    - [virtual-gamepad-controls](#components/user-input/virtual-gamepad-controls)
    - [wasd-to-analog2d](#components/user-input/wasd-to-analog2d)
  - [vr-mode](#components/vr-mode)
    - [vr-mode-toggle-visibility](#components/vr-mode/vr-mode-toggle-visibility)
    - [vr-mode-toggle-playing](#components/vr-mode/vr-mode-toggle-playing)

## Systems

Brian Peiris's avatar
Brian Peiris committed
<a name="systems/app-mode"></a>
Brian Peiris's avatar
Brian Peiris committed
#### app-mode

Simple system for keeping track of a modal app state

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="systems/exit-on-blur"></a>
Brian Peiris's avatar
Brian Peiris committed
#### exit-on-blur

Emits an "exit" event when a user has stopped using the app for a certain period of time

`src/systems/exit-on-blur.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="systems/personal-space-bubble"></a>
Brian Peiris's avatar
Brian Peiris committed
#### personal-space-bubble

Iterates through bubbles and invaders on every tick and sets invader state accordingly. testing multiline things

`src/systems/personal-space-bubble.js`
Brian Peiris's avatar
Brian Peiris committed
## Components
Brian Peiris's avatar
Brian Peiris committed

Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc"></a>
Brian Peiris's avatar
Brian Peiris committed
### misc
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/animation-mixer"></a>
Brian Peiris's avatar
Brian Peiris committed
#### animation-mixer

Instantiates and updates a THREE.AnimationMixer on an entity.

`src/components/animation-mixer.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/matcolor-audio-feedback"></a>
Brian Peiris's avatar
Brian Peiris committed
#### matcolor-audio-feedback

Sets an entity's color base on audioFrequencyChange events.

`src/components/audio-feedback.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/css-class"></a>
Brian Peiris's avatar
Brian Peiris committed
#### css-class

Sets the CSS class on an entity.

`src/components/css-class.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/duck"></a>
Brian Peiris's avatar
Brian Peiris committed
#### duck

Floats a duck based on its scale.

`src/components/duck.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/event-repeater"></a>
Brian Peiris's avatar
Brian Peiris committed
#### event-repeater

Listens to events from an event source and re-emits them on this entity

`src/components/event-repeater.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/loop-animation"></a>
Brian Peiris's avatar
Brian Peiris committed
#### loop-animation

Loops the given clip using this entity's animation mixer

`src/components/loop-animation.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/misc/offset-relative-to"></a>
Brian Peiris's avatar
Brian Peiris committed
#### offset-relative-to

Positions an entity relative to a given target when the given event is fired.

`src/components/offset-relative-to.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar"></a>
Brian Peiris's avatar
Brian Peiris committed
### avatar
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/networked-audio-analyser"></a>
Brian Peiris's avatar
Brian Peiris committed
#### networked-audio-analyser

Emits audioFrequencyChange events based on a networked audio source

`src/components/audio-feedback.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/scale-audio-feedback"></a>
Brian Peiris's avatar
Brian Peiris committed
#### scale-audio-feedback

Sets an entity's scale base on audioFrequencyChange events.

`src/components/audio-feedback.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/avatar-replay"></a>
Brian Peiris's avatar
Brian Peiris committed
#### avatar-replay

Replays a recorded motion capture with the given avatar body parts

`src/components/avatar-replay.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/bone-mute-state-indicator"></a>
Brian Peiris's avatar
Brian Peiris committed
#### bone-mute-state-indicator

Toggles the position of 2 bones into "on" and "off" positions to indicate mute state.

`src/components/bone-mute-state-indicator.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/bone-visibility"></a>
Brian Peiris's avatar
Brian Peiris committed
#### bone-visibility

Scales an object to near-zero if the object is invisible. Useful for bones representing avatar body parts.

`src/components/bone-visibility.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/character-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### character-controller

Avatar movement controller that listens to move, rotate and teleportation events and moves the avatar accordingly. The controller accounts for playspace offset and orientation and depends on the nav mesh system for translation.

`src/components/character-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/hand-pose"></a>
Brian Peiris's avatar
Brian Peiris committed
#### hand-pose

Animates between poses based on networked pose state using an animation mixer.

`src/components/hand-poses.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/hand-pose-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### hand-pose-controller

Sets the networked hand pose state based on hand-pose events.

`src/components/hand-poses.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/ik-root"></a>
Brian Peiris's avatar
Brian Peiris committed
#### ik-root

Provides access to the end effectors for IK.

`src/components/ik-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/ik-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### ik-controller

Performs IK on a hip-rooted skeleton to align the hip, head and hands with camera and controller inputs.

`src/components/ik-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/networked-avatar"></a>
Brian Peiris's avatar
Brian Peiris committed
#### networked-avatar

Stores networked avatar state.

`src/components/networked-avatar.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/player-info"></a>
Brian Peiris's avatar
Brian Peiris committed
#### player-info

Sets player info state, including avatar choice and display name.

`src/components/player-info.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/spawn-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### spawn-controller

Used on a player-rig to move the player to a random spawn point on entry.

`src/components/spawn-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network"></a>
Brian Peiris's avatar
Brian Peiris committed
### network
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/block-button"></a>
Brian Peiris's avatar
Brian Peiris committed
#### block-button

Registers a click handler and invokes the block method on the NAF adapter for the owner associated with its entity.

`src/components/block-button.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/freeze-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### freeze-controller

Toggles freezing of network traffic on the given event.

`src/components/freeze-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/mute-mic"></a>
Brian Peiris's avatar
Brian Peiris committed
#### mute-mic

Toggles the microphone on the current network connection based on the given events.

`src/components/mute-mic.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/networked-counter"></a>
Brian Peiris's avatar
Brian Peiris committed
#### networked-counter

Limits networked interactables to a maximum number at any given time

`src/components/networked-counter.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/networked-video-player"></a>
Brian Peiris's avatar
Brian Peiris committed
#### networked-video-player

Instantiates and plays a network video stream, setting the video as the source material for this entity.

`src/components/networked-video-player.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/super-networked-interactable"></a>
Brian Peiris's avatar
Brian Peiris committed
#### super-networked-interactable

Manages ownership and haptics on an interatable

`src/components/super-networked-interactable.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/network/super-spawner"></a>
Brian Peiris's avatar
Brian Peiris committed
#### super-spawner

Spawns networked objects when grabbed.

`src/components/super-spawner.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input"></a>
Brian Peiris's avatar
Brian Peiris committed
### user-input
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/cardboard-controls"></a>
Brian Peiris's avatar
Brian Peiris committed
#### cardboard-controls

Polls the Gamepad API for Cardboard Button input and emits cardboardbutton events.

`src/components/cardboard-controls.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/controls-shape-offset"></a>
Brian Peiris's avatar
Brian Peiris committed
#### controls-shape-offset

Sets the offset of the aframe-physics shape on this entity based on the current VR controller type

`src/components/controls-shape-offset.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/cursor-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### cursor-controller

Controls virtual cursor behavior in various modalities to affect teleportation, interatables and UI.

`src/components/cursor-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/hand-controls2"></a>
Brian Peiris's avatar
Brian Peiris committed
#### hand-controls2

Converts events from various 6DoF and 3DoF controllers into hand-pose events.

`src/components/hand-controls2.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/haptic-feedback"></a>
Brian Peiris's avatar
Brian Peiris committed
#### haptic-feedback

Listens for haptic events and actuates hardware controllers accordingly

`src/components/haptic-feedback.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/virtual-gamepad-controls"></a>
Brian Peiris's avatar
Brian Peiris committed
#### virtual-gamepad-controls

Instantiates 2D virtual gamepads and emits associated events.

`src/components/virtual-gamepad-controls.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/user-input/wasd-to-analog2d"></a>
Brian Peiris's avatar
Brian Peiris committed
#### wasd-to-analog2d

Converts WASD keyboard inputs to simulated analog inputs.

`src/components/wasd-to-analog2d.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/gltf"></a>
Brian Peiris's avatar
Brian Peiris committed
### gltf
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/gltf/gltf-bundle"></a>
Brian Peiris's avatar
Brian Peiris committed
#### gltf-bundle

Instantiates GLTF models as specified in a bundle JSON.

`src/components/gltf-bundle.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/gltf/gltf-model-plus"></a>
Brian Peiris's avatar
Brian Peiris committed
#### gltf-model-plus

Loads a GLTF model, optionally recursively "inflates" the child nodes of a model into a-entities and sets whitelisted components on them if defined in the node's extras.

`src/components/gltf-model-plus.js`
          
    

<a name="components/environment"></a>
### environment
      
<a name="components/environment/hide-when-quality"></a>
#### hide-when-quality

Hides entities based on the scene's quality mode

`src/components/hide-when-quality.js`
          

<a name="components/environment/layers"></a>
#### layers

Sets layer flags on the underlying Object3D

`src/components/layers.js`
          

<a name="components/environment/nav-mesh-helper"></a>
#### nav-mesh-helper

Initializes teleport-controls when the environment bundle has loaded.

`src/components/nav-mesh-helper.js`
          

<a name="components/environment/scene-shadow"></a>
#### scene-shadow

For use in environment gltf bundles to set scene shadow properties.

`src/components/scene-shadow.js`
          

<a name="components/environment/spawn-point"></a>
#### spawn-point

Marks an entity as a potential spawn point.

`src/components/spawn-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui"></a>
Brian Peiris's avatar
Brian Peiris committed
### ui
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/hud-controller"></a>
Brian Peiris's avatar
Brian Peiris committed
#### hud-controller

Positions the HUD and toggles app mode based on where the user is looking

`src/components/hud-controller.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/icon-button"></a>
Brian Peiris's avatar
Brian Peiris committed
#### icon-button

A button with an image, tooltip, hover states and haptics.

`src/components/icon-button.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/in-world-hud"></a>
Brian Peiris's avatar
Brian Peiris committed
#### in-world-hud

HUD panel for muting, freezing, and space bubble controls.

`src/components/in-world-hud.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/text-button"></a>
Brian Peiris's avatar
Brian Peiris committed
#### text-button

A button with text and haptics

`src/components/text-button.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/visible-while-frozen"></a>
Brian Peiris's avatar
Brian Peiris committed
#### visible-while-frozen

Toggles the visibility of this entity when the scene is frozen.

`src/components/visible-while-frozen.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/ui/ui-class-while-frozen"></a>
Brian Peiris's avatar
Brian Peiris committed
#### ui-class-while-frozen

Toggles the interactivity of a UI entity while the scene is frozen.

`src/components/visible-while-frozen.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/app-mode"></a>
Brian Peiris's avatar
Brian Peiris committed
### app-mode
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/app-mode/app-mode-toggle-playing"></a>
Brian Peiris's avatar
Brian Peiris committed
#### app-mode-toggle-playing

Toggle the isPlaying state of a component based on app mode

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/app-mode/app-mode-toggle-attribute"></a>
Brian Peiris's avatar
Brian Peiris committed
#### app-mode-toggle-attribute

Toggle a boolean property of a component based on app mode

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/app-mode/app-mode-input-mappings"></a>
Brian Peiris's avatar
Brian Peiris committed
#### app-mode-input-mappings

Toggle aframe input mappings action set based on app mode

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/vr-mode"></a>
Brian Peiris's avatar
Brian Peiris committed
### vr-mode
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/vr-mode/vr-mode-toggle-visibility"></a>
Brian Peiris's avatar
Brian Peiris committed
#### vr-mode-toggle-visibility

Toggle visibility of an entity based on if the user is in vr mode or not

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/vr-mode/vr-mode-toggle-playing"></a>
Brian Peiris's avatar
Brian Peiris committed
#### vr-mode-toggle-playing

Toggle the isPlaying state of a component based on app mode

`src/systems/app-mode.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/personal-space-bubble"></a>
Brian Peiris's avatar
Brian Peiris committed
### avatar/personal-space-bubble
      
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/personal-space-bubble/space-invader-mesh"></a>
Brian Peiris's avatar
Brian Peiris committed
#### space-invader-mesh

Specifies a mesh associated with an invader.

`src/systems/personal-space-bubble.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/personal-space-bubble/personal-space-invader"></a>
Brian Peiris's avatar
Brian Peiris committed
#### personal-space-invader

Represents an entity that can invade a personal space bubble

`src/systems/personal-space-bubble.js`
Brian Peiris's avatar
Brian Peiris committed
<a name="components/avatar/personal-space-bubble/personal-space-bubble"></a>
Brian Peiris's avatar
Brian Peiris committed
#### personal-space-bubble

Represents a personal space bubble on an entity.

`src/systems/personal-space-bubble.js`