GithubHelp home page GithubHelp logo

hhy5277 / webscreenvr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samuelcardillo/webscreenvr

0.0 1.0 0.0 16.73 MB

WebScreenVR enhance your workspace while in Virtual Reality, allowing you to cast your screen and different applications around you in a 3D environment.

Home Page: https://experiments.samuelcardillo.com/project/webscreenvr

JavaScript 99.52% HTML 0.48%

webscreenvr's Introduction

WebScreenVR (Developer Version)

WebScreenVR is still in Developer Version which means that installing and using it requires some advanced knowledge and it may contains bugs.

It only works with Oculus Rift for the moment

What is WebScreenVR ?

IMAGE ALT TEXT

The goal of WebScreenVR is to enhance your workspace while in Virtual Reality, allowing you to cast your screen and different applications around you in a 3D environment.

How to install it?

1. Share screen

  • On Chrome:

Sharing the screen on Chrome require an extension to allow screen casting. Go on Extensions and enable the developer mode then click on "Load unpacked extension" and select the "WebScreen-Extension" folder.

  • On Firefox:

Firefox natively allow screensharing but doesn't allow more than one stream (*two thanks to a little trick visible in core.js *).

2. Setting up local HTTPS environment

The Chrome extension require the usage of HTTPS even on localhost in order to allow access to the desktopCapture API, therefore setting up a local secured environment is necesary. One pre-made solution is delivered in this git using NodeJS and Express but if you want to use yours, feel free.

Just open a terminal in the folder and type npm install && node webserver.js which will install express and run the local web server on HTTP and HTTPS using the already existing SSL certificates.

3. Set up an hostname

Additionnally the Chrome extension does not take localhost or 127.0.0.1 as an authorized hostname so we will to create our own. Open your host.conf file and add 127.0.0.1 webscreenvr.dev.

4. Launching it!

When you have finally set up the whole development environment, you can just access WebScreenVR by going on https://webscreenvr.dev (do not forget to start the web server)!

How to use it?

Once you have shared the initial screen and you are inside the VR view with your controllers visible here are the commands:

  • Grip: Toggle "construction mode"
  • A:
    • Add screen (in "construction mode)
    • Target an existing screen and stay pressed on A to move it
  • X:
    • Enhance size of the selected screen
    • Go to next environment sphere
  • Y:
    • Reduce size of the selected screen
    • Go to previous environment sphere
  • Thumbstick: Teleport yourself
  • Left trigger:
    • Show environments sphere on first press
    • Change environment on second press

How to contribute

Whatever you feel adding would be great. Additionnally feel free to help on the "what is really next" features as well.

  • Have an idea or take an idea in the list below
  • Write code
  • Send a PR
  • Drink champagne

What is really next?

  • Add curves?
  • Compatibility with Vive
  • Multiplayer (using WebRTC)
  • Other things as well

webscreenvr's People

Contributors

samuelcardillo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.