From ec126f16d54272fe36acf6843f30341861ff267d Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 30 Oct 2014 10:43:10 -0700 Subject: [PATCH] make the oculus reticle a sphere overlay --- examples/lobby.js | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/examples/lobby.js b/examples/lobby.js index 62df410c70..c911811f61 100644 --- a/examples/lobby.js +++ b/examples/lobby.js @@ -35,7 +35,7 @@ var orbCenter = Vec3.multiply(orbNaturalCenter, SCALING_FACTOR); var panelsCenter = Vec3.multiply(panelsNaturalCenter, SCALING_FACTOR); var panelsCenterShift = Vec3.subtract(panelsCenter, orbCenter); -var ORB_SHIFT = { x: 0, y: -1.5, z: 0.5}; +var ORB_SHIFT = { x: 0, y: -1.4, z: -0.8}; function drawLobby() { if (!panelWall) { @@ -66,19 +66,15 @@ function drawLobby() { panelWall = Overlays.addOverlay("model", panelWallProps); orbShell = Overlays.addOverlay("model", orbShellProps); - // Create a reticle image in center of screen - var screenSize = Controller.getViewportDimensions(); - var reticleProps = { - x: screenSize.x / 2 - 16, - y: screenSize.y / 2 - 16, - width: 32, - height: 32, - color: { red: 255, green: 255, blue: 255}, - alpha: 1, - imageURL: HIFI_PUBLIC_BUCKET + "images/reticle.png", - }; - - reticle = Overlays.addOverlay("image", reticleProps); + // Create a reticle in center of screen + var RETICLE_SPHERE_SIZE = 0.05; + reticle = Overlays.addOverlay("sphere", { + position: Vec3.sum(Camera.getPosition(), Quat.getFront(Camera.getOrientation())), + size: RETICLE_SPHERE_SIZE, + color: { red: 0, green: 255, blue: 0 }, + alpha: 1.0, + solid: true + }); } } @@ -109,6 +105,8 @@ function cleanupLobby() { Overlays.deleteOverlay(orbShell); Overlays.deleteOverlay(reticle); panelWall = false; + orbShell = false; + reticle = false; locations = {}; toggleEnvironmentRendering(true); } @@ -164,7 +162,16 @@ function toggleEnvironmentRendering(shouldRender) { Menu.setIsOptionChecked("Avatars", shouldRender); } +function update(deltaTime) { + maybeCleanupLobby(); + if (reticle) { + Overlays.editOverlay(reticle, { + position: Vec3.sum(Camera.getPosition(), Quat.getFront(Camera.getOrientation())) + }); + } +} + Controller.actionStartEvent.connect(actionStartEvent); Controller.backStartEvent.connect(backStartEvent); -Script.update.connect(maybeCleanupLobby); +Script.update.connect(update); Script.scriptEnding.connect(maybeCleanupLobby); \ No newline at end of file