Newer
Older
# 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)
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
- [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
#### app-mode
Simple system for keeping track of a modal app state
#### exit-on-blur
Emits an "exit" event when a user has stopped using the app for a certain period of time
#### personal-space-bubble
Iterates through bubbles and invaders on every tick and sets invader state accordingly. testing multiline things
#### animation-mixer
Instantiates and updates a THREE.AnimationMixer on an entity.
#### matcolor-audio-feedback
Sets an entity's color base on audioFrequencyChange events.
#### css-class
Sets the CSS class on an entity.
#### duck
Floats a duck based on its scale.
#### event-repeater
Listens to events from an event source and re-emits them on this entity
#### loop-animation
Loops the given clip using this entity's animation mixer
#### offset-relative-to
Positions an entity relative to a given target when the given event is fired.
#### networked-audio-analyser
Emits audioFrequencyChange events based on a networked audio source
#### scale-audio-feedback
Sets an entity's scale base on audioFrequencyChange events.
#### avatar-replay
Replays a recorded motion capture with the given avatar body parts
#### 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`
#### bone-visibility
Scales an object to near-zero if the object is invisible. Useful for bones representing avatar body parts.
#### 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.
#### hand-pose
Animates between poses based on networked pose state using an animation mixer.
#### hand-pose-controller
Sets the networked hand pose state based on hand-pose events.
#### ik-root
Provides access to the end effectors for IK.
#### ik-controller
Performs IK on a hip-rooted skeleton to align the hip, head and hands with camera and controller inputs.
#### networked-avatar
Stores networked avatar state.
#### player-info
Sets player info state, including avatar choice and display name.
#### spawn-controller
Used on a player-rig to move the player to a random spawn point on entry.
#### block-button
Registers a click handler and invokes the block method on the NAF adapter for the owner associated with its entity.
#### freeze-controller
Toggles freezing of network traffic on the given event.
#### mute-mic
Toggles the microphone on the current network connection based on the given events.
#### networked-counter
Limits networked interactables to a maximum number at any given time
#### networked-video-player
Instantiates and plays a network video stream, setting the video as the source material for this entity.
<a name="components/network/super-networked-interactable"></a>
#### super-networked-interactable
Manages ownership and haptics on an interatable
`src/components/super-networked-interactable.js`
#### super-spawner
Spawns networked objects when grabbed.
#### cardboard-controls
Polls the Gamepad API for Cardboard Button input and emits cardboardbutton events.
#### controls-shape-offset
Sets the offset of the aframe-physics shape on this entity based on the current VR controller type
#### cursor-controller
Controls virtual cursor behavior in various modalities to affect teleportation, interatables and UI.
#### hand-controls2
Converts events from various 6DoF and 3DoF controllers into hand-pose events.
#### haptic-feedback
Listens for haptic events and actuates hardware controllers accordingly
<a name="components/user-input/virtual-gamepad-controls"></a>
#### virtual-gamepad-controls
Instantiates 2D virtual gamepads and emits associated events.
`src/components/virtual-gamepad-controls.js`
#### wasd-to-analog2d
Converts WASD keyboard inputs to simulated analog inputs.
#### gltf-bundle
Instantiates GLTF models as specified in a bundle JSON.
#### 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.
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
`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`
#### hud-controller
Positions the HUD and toggles app mode based on where the user is looking
#### icon-button
A button with an image, tooltip, hover states and haptics.
#### in-world-hud
HUD panel for muting, freezing, and space bubble controls.
#### text-button
A button with text and haptics
#### visible-while-frozen
Toggles the visibility of this entity when the scene is frozen.
#### ui-class-while-frozen
Toggles the interactivity of a UI entity while the scene is frozen.
#### app-mode-toggle-playing
Toggle the isPlaying state of a component based on app mode
#### app-mode-toggle-attribute
Toggle a boolean property of a component based on app mode
#### app-mode-input-mappings
Toggle aframe input mappings action set based on app mode
#### vr-mode-toggle-visibility
Toggle visibility of an entity based on if the user is in vr mode or not
#### vr-mode-toggle-playing
Toggle the isPlaying state of a component based on app mode
<a name="components/avatar/personal-space-bubble/space-invader-mesh"></a>
#### space-invader-mesh
Specifies a mesh associated with an invader.
<a name="components/avatar/personal-space-bubble/personal-space-invader"></a>
#### personal-space-invader
Represents an entity that can invade a personal space bubble
<a name="components/avatar/personal-space-bubble/personal-space-bubble"></a>
#### personal-space-bubble
Represents a personal space bubble on an entity.