<!DOCTYPE html> <html> <head> <!-- DO NOT REMOVE/EDIT THIS COMMENT - META_TAGS --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <link rel="shortcut icon" type="image/png" href="/favicon.ico"> <title>Get together | Hubs by Mozilla</title> <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700" rel="stylesheet"> </head> <body> <audio id="test-tone"> <source src="./assets/sfx/tone.webm" type="audio/webm"/> <source src="./assets/sfx/tone.mp3" type="audio/mpeg"/> <source src="./assets/sfx/tone.ogg" type="audio/ogg"/> <source src="./assets/sfx/tone.wav" type="audio/wav"/> </audio> <a-scene class="grab-cursor" renderer="antialias: true; gammaOutput: true; sortObjects: true; physicallyCorrectLights: true;" gamma-factor networked-scene="adapter: janus; audio: true; debug: true; connectOnLoad: false;" physics="gravity: -6; debug: false;" mute-mic="eventSrc: a-scene; toggleEvents: action_mute" freeze-controller="toggleEvent: action_freeze" personal-space-bubble="debug: false;" vr-mode-ui="enabled: false" stats-plus="false" action-to-event__mute="path: /actions/muteMic; event: action_mute;" > <a-assets> <img id="tooltip" crossorigin="anonymous" src="./assets/hud/tooltip.9.png"> <img id="mute-off" crossorigin="anonymous" src="./assets/hud/mute_off.png"> <img id="mute-off-hover" crossorigin="anonymous" src="./assets/hud/mute_off-hover.png"> <img id="mute-on" crossorigin="anonymous" src="./assets/hud/mute_on.png"> <img id="mute-on-hover" crossorigin="anonymous" src="./assets/hud/mute_on-hover.png"> <img id="bubble-off" crossorigin="anonymous" src="./assets/hud/bubble_off.png"> <img id="bubble-off-hover" crossorigin="anonymous" src="./assets/hud/bubble_off-hover.png"> <img id="bubble-on" crossorigin="anonymous" src="./assets/hud/bubble_on.png"> <img id="bubble-on-hover" crossorigin="anonymous" src="./assets/hud/bubble_on-hover.png"> <img id="freeze-off" crossorigin="anonymous" src="./assets/hud/freeze_off.png"> <img id="freeze-off-hover" crossorigin="anonymous" src="./assets/hud/freeze_off-hover.png"> <img id="freeze-on" crossorigin="anonymous" src="./assets/hud/freeze_on.png"> <img id="freeze-on-hover" crossorigin="anonymous" src="./assets/hud/freeze_on-hover.png"> <img id="spawn-pen" crossorigin="anonymous" src="./assets/hud/spawn_pen.png"> <img id="spawn-pen-hover" crossorigin="anonymous" src="./assets/hud/spawn_pen-hover.png"> <img id="spawn-camera" crossorigin="anonymous" src="./assets/hud/spawn_camera.png"> <img id="spawn-camera-hover" crossorigin="anonymous" src="./assets/hud/spawn_camera-hover.png"> <a-asset-item id="botdefault" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotDefault_Avatar-9f71f8ff22.gltf"></a-asset-item> <a-asset-item id="botbobo" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotBobo_Avatar-f9740a010b.gltf"></a-asset-item> <a-asset-item id="botdom" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotDom_Avatar-0c48bf15a5.gltf"></a-asset-item> <a-asset-item id="botgreg" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotGreg_Avatar-98d39797bb.gltf"></a-asset-item> <a-asset-item id="botguest" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotGuest_Avatar-78cd857332.gltf"></a-asset-item> <a-asset-item id="botjim" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotJim_Avatar-d28005a687.gltf"></a-asset-item> <a-asset-item id="botkev" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotKev_Avatar-a95787bb51.gltf"></a-asset-item> <a-asset-item id="botpinky" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotPinky_Avatar-b0b93f8675.gltf"></a-asset-item> <a-asset-item id="botrobert" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotRobert_Avatar-e9554880f3.gltf"></a-asset-item> <a-asset-item id="botwoody" response-type="arraybuffer" src="https://asset-bundles-prod.reticulum.io/bots/BotWoody_Avatar-0140485a23.gltf"></a-asset-item> <a-asset-item id="quack" src="./assets/sfx/quack.mp3" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="specialquack" src="./assets/sfx/specialquack.mp3" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-teleport_start" src="./assets/sfx/D_teleportStart.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-teleport_end" src="./assets/sfx/D_teleportEnd.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-snap_rotate" src="./assets/sfx/quickTurn.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-media_loaded" src="./assets/sfx/A_bendUp.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="DISABLED_sound_asset-hud_mouseout" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-hud_hover_start" src="./assets/sfx/Eb_blip.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-hover" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="DISABLED_sound_asset-hover_off" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-cursor_distance_change_blocked" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-cursor_distance_changed" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-hud_click" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-toggle_mute" src="./assets/sfx/Fs_Mute.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-toggle_freeze" src="./assets/sfx/Pause.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-toggle_space_bubble" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-spawn_pen" src="./assets/sfx/PenSpawn.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-increase_pen_radius" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-decrease_pen_radius" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-next_pen_color" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-prev_pen_color" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-start_draw" src="./assets/sfx/PenDraw1.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-stop_draw" src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <a-asset-item id="sound_asset-camera_tool_took_snapshot" src="./assets/sfx/PicSnapHey.wav" response-type="arraybuffer" preload="auto"></a-asset-item> <!-- Templates --> <template id="video-template"> <a-entity class="video" geometry="primitive: plane;" material="side: double; shader: flat;" networked-video-player></a-entity> </template> <template id="remote-avatar-template"> <a-entity networked-avatar ik-root player-info> <a-entity class="camera"></a-entity> <a-entity class="left-controller"></a-entity> <a-entity class="right-controller"></a-entity> <a-entity class="model" gltf-model-plus="inflate: true"> <template data-name="RootScene"> <a-entity ik-controller hand-pose__left hand-pose__right space-invader-mesh="meshName: Bot_Skinned"></a-entity> </template> <template data-name="Neck"> <a-entity> <a-entity class="nametag" billboard text="side: double; align: center; color: #ddd" position="0 1 0" scale="6 6 6" ></a-entity> </a-entity> </template> <template data-name="Chest"> <a-entity personal-space-invader="radius: 0.2; useMaterial: true;" bone-visibility> <a-entity billboard> <a-entity mixin="rounded-text-button" block-button visible-while-frozen ui-class-while-frozen position="0 0 .35"> </a-entity> <a-entity visible-while-frozen text="value:Block; width:2.5; align:center;" position="0 0 0.36"></a-entity> </a-entity> </a-entity> </template> <template data-name="Head"> <a-entity networked-audio-source networked-audio-analyser personal-space-invader="radius: 0.15; useMaterial: true;" bone-visibility > <a-cylinder static-body radius="0.13" height="0.2" position="0 0.07 0.05" visible="false" ></a-cylinder> </a-entity> </template> <template data-name="LeftHand"> <a-entity personal-space-invader="radius: 0.1" bone-visibility></a-entity> </template> <template data-name="RightHand"> <a-entity personal-space-invader="radius: 0.1" bone-visibility></a-entity> </template> </a-entity> </a-entity> </template> <template id="interactable-media"> <a-entity class="interactable" super-networked-interactable="counter: #media-counter;" body="type: dynamic; shape: none; mass: 1;" grabbable stretchable="useWorldPosition: true; usePhysics: never" hoverable auto-scale-cannon-physics-body sticky-object="autoLockOnRelease: true; autoLockOnLoad: true;" position-at-box-shape-border="target:.delete-button" destroy-at-extreme-distances rotation sound__hover="src: #sound_asset-hover; on: hovered; poolSize: 1;" sound__hoveroff ="src: #sound_asset-hover_off; on: unhovered; poolSize: 1;" emit-state-change__hovered="state: hovered; transform: rising; event: hovered;" emit-state-change__unhovered="state: hovered; transform: falling; event: unhovered;" > <!-- HACK: rotation component above is required for its side effect of setting YXZ order --> <a-entity class="delete-button" visible-while-frozen> <a-entity mixin="rounded-text-button" remove-networked-object-button position="0 0 0"> </a-entity> <a-entity text=" value:Remove; width:2.5; align:center;" text-raycast-hack position="0 0 0.01"></a-entity> </a-entity> </a-entity> </template> <template id="pen-interactable"> <a-entity class="pen interactable" super-networked-interactable="counter: #pen-counter;" body="type: dynamic; shape: none; mass: 1;" grabbable="maxGrabbers: 1" sticky-object="autoLockOnRelease: true; autoLockOnLoad: true;" hoverable scale="0.5 0.5 0.5" sound__next_pen_color="src: #sound_asset-next_pen_color; on: next_pen_color; poolSize: 2;" sound__prev_pen_color="src: #sound_asset-prev_pen_color; on: prev_pen_color; poolSize: 2;" sound__start_draw="src: #sound_asset-start_draw; on: start_draw; poolSize: 2;" sound__stop_draw="src: #sound_asset-stop_draw; on: stop_draw; poolSize: 2;" sound__increase_pen_radius="src: #sound_asset-increase_pen_radius; on: increase_pen_radius; poolSize: 2;" sound__decrease_pen_radius="src: #sound_asset-decrease_pen_radius; on: decrease_pen_radius; poolSize: 2;" sound__hover="src: #sound_asset-hover; on: hovered; poolSize: 1;" sound__hoveroff ="src: #sound_asset-hover_off; on: unhovered; poolSize: 1;" emit-state-change__hovered="state: hovered; transform: rising; event: hovered;" emit-state-change__unhovered="state: hovered; transform: falling; event: unhovered;" > <a-sphere id="pen" scale="1.5, 1.5, 1.5" position="0 -0.18 0" radius="0.02" color="#FF0033" pen="camera: #player-camera; drawingManager: #drawing-manager" segments-width="16" segments-height="12" ></a-sphere> <a-entity class="delete-button" visible-while-frozen> <a-entity mixin="rounded-text-button" remove-networked-object-button position="0 0 0"> </a-entity> <a-entity text=" value:Remove; width:2.5; align:center;" text-raycast-hack position="0 0 0.01"></a-entity> </a-entity> </a-entity> </template> <template id="interactable-camera"> <a-entity class="interactable icamera" grabbable hoverable stretchable camera-tool body="type: dynamic; shape: none; mass: 1;" shape="shape: box; halfExtents: 0.22 0.145 0.1; offset: 0 0.02 0" sticky-object="autoLockOnRelease: true; autoLockOnLoad: true;" super-networked-interactable="counter: #camera-counter;" position-at-box-shape-border="target:.delete-button" rotation auto-scale-cannon-physics-body > <a-entity class="delete-button" visible-while-frozen> <a-entity mixin="rounded-text-button" remove-networked-object-button position="0 0 0"> </a-entity> <a-entity text=" value:Remove; width:2.5; align:center;" text-raycast-hack position="0 0 0.01"></a-entity> </a-entity> </a-entity> </template> <template id="interactable-drawing"> <a-entity networked-drawing ></a-entity> </template> <template id="paging-toolbar"> <a-entity class="paging-toolbar" visible-to-owner> <a-entity class="prev-button" position="-0.3 0 0"> <a-entity mixin="rounded-text-button" slice9="width: 0.2"> </a-entity> <a-entity text=" value:<; width:2; align:center;" text-raycast-hack position="0 0 0.01"></a-entity> </a-entity> <a-entity class="page-label" text="width:2; align:center;" text-raycast-hack></a-entity> <a-entity class="next-button" position="0.3 0 0"> <a-entity mixin="rounded-text-button" slice9="width: 0.2"> </a-entity> <a-entity text=" value:>; width:2; align:center;" text-raycast-hack position="0 0 0.01"></a-entity> </a-entity> </a-entity> </template> <a-mixin id="rounded-text-button" text-button=" haptic:#player-right-controller; textHoverColor: #fff; textColor: #fff; backgroundHoverColor: #ea4b54; backgroundColor: #fff;" slice9=" width: 0.45; height: 0.2; left: 53; top: 53; right: 10; bottom: 10; opacity: 1.3; src: #tooltip" ></a-mixin> <a-mixin id="controller-super-hands" super-hands=" colliderEvent: collisions; colliderEventProperty: els; colliderEndEvent: collisions; colliderEndEventProperty: clearedEls; grabStartButtons: primary_hand_grab, secondary_hand_grab; grabEndButtons: primary_hand_release, secondary_hand_release; stretchStartButtons: primary_hand_grab, secondary_hand_grab; stretchEndButtons: primary_hand_release, secondary_hand_release; dragDropStartButtons: hand_grab, secondary_hand_grab; dragDropEndButtons: hand_release, secondary_hand_release; activateStartButtons: secondary_hand_grab, next_color, previous_color, increase_radius, decrease_radius, scroll_up, scroll_down, scroll_left, scroll_right; activateEndButtons: secondary_hand_release, vertical_scroll_release, horizontal_scroll_release, thumb_up;" collision-filter="collisionForces: false" physics-collider ></a-mixin> </a-assets> <!-- Interactables --> <a-entity id="media-counter" networked-counter="max: 10;"></a-entity> <a-entity id="pen-counter" networked-counter="max: 10;"></a-entity> <a-entity id="camera-counter" networked-counter="max: 1;"></a-entity> <a-entity id="drawing-manager" drawing-manager></a-entity> <a-entity id="cursor-controller" cursor-controller=" cursor: #cursor; camera: #player-camera; objects: .collidable, .interactable, .ui;" line="visible: false; color: white; opacity: 0.2;" ></a-entity> <a-sphere id="cursor" material="depthTest: false; opacity:0.9;" radius="0.02" segments-width="9" segments-height="9" static-body="shape: sphere;" collision-filter="collisionForces: false" super-hands=" colliderEvent: raycaster-intersection; colliderEndEvent: raycaster-intersection-cleared; grabStartButtons: cursor-grab, primary_hand_grab, secondary_hand_grab; grabEndButtons: cursor-release, primary_hand_release, secondary_hand_release; stretchStartButtons: cursor-grab, primary_hand_grab, secondary_hand_grab; stretchEndButtons: cursor-release, primary_hand_release, secondary_hand_release; dragDropStartButtons: cursor-grab, primary_hand_grab, secondary_hand_grab; dragDropEndButtons: cursor-release, primary_hand_release, secondary_hand_release; activateStartButtons: secondary-cursor-grab, secondary_hand_grab, next_color, previous_color, increase_radius, decrease_radius, scroll_up, scroll_down, scroll_left, scroll_right; activateEndButtons: secondary-cursor-release, secondary_hand_release, vertical_scroll_release, horizontal_scroll_release, thumb_up;" action-to-event__grab="path: /actions/cursorGrab; event: cursor-grab" action-to-event__drop="path: /actions/cursorDrop; event: cursor-release" ></a-sphere> <!-- Player Rig --> <a-entity id="player-rig" spawn-controller="loadedEvent: entered; target: #player-rig" wasd-to-analog2d character-controller="pivot: #player-camera" ik-root player-info cardboard-controls > <a-entity id="player-hud" hud-controller="head: #player-camera;" vr-mode-toggle-visibility vr-mode-toggle-playing__hud-controller > <a-entity in-world-hud="haptic:#player-right-controller;raycaster:#player-right-controller;" rotation="30 0 0"> <a-rounded height="0.08" width="0.5" color="#000000" position="-0.20 0.125 0" radius="0.040" opacity="0.35" class="hud bg"></a-rounded> <a-entity id="hud-hub-entry-link" text=" value:; width:1.1; align:center;" position="0.05 0.165 0"></a-entity> <a-rounded height="0.13" width="0.59" color="#000000" position="-0.24 -0.065 0" radius="0.065" opacity="0.35" class="hud bg"></a-rounded> <a-image icon-button="tooltip: #hud-tooltip; tooltipText: Mute Mic; activeTooltipText: Unmute Mic; image: #mute-off; hoverImage: #mute-off-hover; activeImage: #mute-on; activeHoverImage: #mute-on-hover" scale="0.1 0.1 0.1" position="-0.17 0 0.001" class="ui hud mic" material="alphaTest:0.1;" hoverable sound__hud_hover_start="src: #sound_asset-hud_hover_start; on: mouseover; poolSize: 5;" ></a-image> <a-image icon-button="tooltip: #hud-tooltip; tooltipText: Pause; activeTooltipText: Resume; image: #freeze-off; hoverImage: #freeze-off-hover; activeImage: #freeze-on; activeHoverImage: #freeze-on-hover" scale="0.2 0.2 0.2" position="0 0 0.005" class="ui hud freeze" hoverable sound__hud_hover_start="src: #sound_asset-hud_hover_start; on: mouseover; poolSize: 5;" ></a-image> <a-image icon-button="tooltip: #hud-tooltip; tooltipText: Pen; activeTooltipText: Pen; image: #spawn-pen; hoverImage: #spawn-pen-hover; activeImage: #spawn-pen; activeHoverImage: #spawn-pen-hover" scale="0.1 0.1 0.1" position="0.17 0 0.001" class="ui hud penhud" material="alphaTest:0.1;" hoverable sound__hud_hover_start="src: #sound_asset-hud_hover_start; on: mouseover; poolSize: 5;" ></a-image> <a-image icon-button="tooltip: #hud-tooltip; tooltipText: Camera; activeTooltipText: Camera; image: #spawn-camera; hoverImage: #spawn-camera-hover; activeImage: #spawn-camera; activeHoverImage: #spawn-camera-hover" scale="0.1 0.1 0.1" position="0.28 0 0.001" class="ui hud cameraBtn" material="alphaTest:0.1;" hoverable sound__hud_hover_start="src: #sound_asset-hud_hover_start; on: mouseover; poolSize: 5;" ></a-image> <a-rounded visible="false" id="hud-tooltip" height="0.08" width="0.3" color="#000000" position="-0.15 -0.2 0" rotation="-20 0 0" radius="0.025" opacity="0.35" class="hud bg"> <a-entity text="value: Mute Mic; align:center;" position="0.15 0.04 0.001" ></a-entity> </a-rounded> </a-entity> </a-entity> <a-entity id="player-camera" class="camera" camera personal-space-bubble="radius: 0.4;" pitch-yaw-rotator sound__teleport_start="positional: false; src: #sound_asset-teleport_start; on: nothing; poolSize: 2;" scene-sound__teleport_start="on: right-teleport_down;" sound__teleport_end="positional: false; src: #sound_asset-teleport_end; on: nothing; poolSize: 2;" scene-sound__teleport_end="on: right-teleport_up;" sound__snap_rotate_left="positional: false; src: #sound_asset-snap_rotate; on: nothing; poolSize: 3;" scene-sound__snap_rotate_left="on: snap_rotate_left;" sound__snap_rotate_right="positional: false; src: #sound_asset-snap_rotate; on: nothing; poolSize: 3;" scene-sound__snap_rotate_right="on: snap_rotate_right;" sound__model_loaded="positional: false; src: #sound_asset-media_loaded; on: nothing; poolSize: 2;" scene-sound__model_loaded="on: model-loaded;" sound__image_loaded="positional: false; src: #sound_asset-media_loaded; on: nothing; poolSize: 2;" scene-sound__image_loaded="on: image-loaded;" sound__hud_action_mute="positional: false; src: #sound_asset-toggle_mute; on: nothing; poolSize: 2;" scene-sound__hud_action_mute="on: action_mute;" sound__hud_action_freeze="positional: false; src: #sound_asset-toggle_freeze; on: nothing; poolSize: 2;" scene-sound__hud_action_freeze="on: action_freeze;" sound__hud_action_space_bubble="positional: false; src: #sound_asset-toggle_space_bubble; on: nothing; poolSize: 2;" scene-sound__hud_action_space_bubble="on: action_space_bubble;" sound__hud_spawn_pen="positional: false; src: #sound_asset-spawn_pen; on: nothing; poolSize: 2;" scene-sound__hud_spawn_pen="on: spawn_pen;" sound__hud_hover_start="positional: false; src: #sound_asset-hud_hover_start; on: nothing; poolSize: 5;" scene-sound__hud_hover_start="on: play_sound-hud_hover_start;" sound__hud_mouseout="positional: false; src: #sound_asset-hud_mouseout; on: nothing; poolSize: 1;" scene-sound__hud_mouseout="on: play_sound-hud_mouse_leave;" sound__hud_click="positional: false; src: #sound_asset-hud_click; on: nothing; poolSize: 1;" scene-sound__hud_click="on: hud_click;" sound__cursor_distance_changed="positional: false; src: #sound_asset-cursor_distance_changed; on: nothing; poolSize: 1;" scene-sound__cursor_distance_changed="on: cursor-distance-changed;" sound__cursor_distance_change_blocked="positional: false; src: #sound_asset-cursor_distance_change_blocked; on: nothing; poolSize: 1;" scene-sound__cursor_distance_change_blocked="on: cursor-distance-change-blocked;" sound__camera_tool_took_snapshot="positional: false; src: #sound_asset-camera_tool_took_snapshot; on: nothing; poolSize: 1;" scene-sound__camera_tool_took_snapshot="on: camera_tool_took_snapshot;" > <a-entity id="gaze-teleport" position = "0.15 0 0" teleport-controls=" cameraRig: #player-rig; teleportOrigin: #player-camera; button: gaze-teleport_; collisionEntities: [nav-mesh]; drawIncrementally: true; incrementalDrawMs: 300; hitOpacity: 0.3; missOpacity: 0.1; curveShootingSpeed: 12;" action-to-event__start-teleport="path: /actions/startTeleport; event: gaze-teleport_down" action-to-event__stop-teleport="path: /actions/stopTeleport; event: gaze-teleport_up" ></a-entity> </a-entity> <a-entity id="player-left-controller" class="left-controller" hand-controls2="left" tracked-controls teleport-controls=" cameraRig: #player-rig; teleportOrigin: #player-camera; button: left-teleport_; collisionEntities: [nav-mesh]; drawIncrementally: true; incrementalDrawMs: 300; hitOpacity: 0.3; missOpacity: 0.1; curveShootingSpeed: 12;" haptic-feedback body="type: static; shape: none;" mixin="controller-super-hands" controls-shape-offset action-to-event__a="path: /actions/leftHandStartTeleport; event: left-teleport_down;" action-to-event__b="path: /actions/leftHandStopTeleport; event: left-teleport_up;" action-to-event__c="path: /actions/leftHandGrab; event: primary_hand_grab;" action-to-event__d="path: /actions/leftHandDrop; event: primary_hand_release;" > </a-entity> <a-entity id="player-right-controller" class="right-controller" hand-controls2="right" tracked-controls teleport-controls=" cameraRig: #player-rig; teleportOrigin: #player-camera; button: right-teleport_; collisionEntities: [nav-mesh]; drawIncrementally: true; incrementalDrawMs: 300; hitOpacity: 0.3; missOpacity: 0.1; curveShootingSpeed: 12;" haptic-feedback body="type: static; shape: none;" mixin="controller-super-hands" controls-shape-offset action-to-event__a="path: /actions/rightHandStartTeleport; event: right-teleport_down;" action-to-event__b="path: /actions/rightHandStopTeleport; event: right-teleport_up;" action-to-event__c="path: /actions/rightHandGrab; event: primary_hand_grab;" action-to-event__d="path: /actions/rightHandDrop; event: primary_hand_release;" > </a-entity> <a-entity gltf-model-plus="inflate: true;" class="model"> <template data-name="RootScene"> <a-entity ik-controller hand-pose__left hand-pose__right hand-pose-controller__left="networkedAvatar:#player-rig;eventSrc:#player-left-controller" hand-pose-controller__right="networkedAvatar:#player-rig;eventSrc:#player-right-controller" ></a-entity> </template> <template data-name="Neck"> <a-entity> <a-entity class="nametag" visible="false" text ></a-entity> </a-entity> </template> <template data-name="Head"> <a-entity id="player-head" visible="false" bone-visibility></a-entity> </template> <template data-name="LeftHand"> <a-entity bone-visibility></a-entity> </template> <template data-name="RightHand"> <a-entity bone-visibility></a-entity> </template> </a-entity> </a-entity> <!-- Environment --> <a-entity id="environment-root" nav-mesh-helper static-body="shape: none;" > <a-entity id="environment-scene"/> </a-entity> <a-entity action-to-event="path: /actions/spawnPen; event: spawn_pen" super-spawner=" template: #pen-interactable; src: https://asset-bundles-prod.reticulum.io/interactables/DrawingPen/DrawingPen-34fb4aee27.gltf; spawnEvent: spawn_pen; superHand: #player-right-controller; cursorSuperHand: #cursor;" ></a-entity> </a-scene> <div id="ui-root"></div> </body> </html>