Jump to content

Recommended Posts

Is there something specific that the WebVR Experience Helper does not solve (https://doc.babylonjs.com/how_to/webvr_helper)?

If you enable that then it will target those (and other WebVR) devices.  The code is included in BabylonJS without any extensions, but if you want the controller meshes packaged for offline that requires extra configuration,  if that's what you mean by packaging.

Link to post
Share on other sites

I will look into VR helper... 

my problem is I know nothing about what makes  VR scenes ... the mechanics of things... concepts like Gaze. 

I think I need a complete VR training course that will explain these concepts in full ...

Thinking bout spending some time with Unreal or Unity training to see how they do VR

i think playcanvas has web vr training too

Link to post
Share on other sites
13 minutes ago, MackeyK24 said:

concepts like Gaze. 

My interpretation of Gaze is that it's really only needed for the Google Cardboard (although can be useful for other devices).  The idea is that by looking for an extended period of time (gazing) at something that you want an action to occur (ie: staring at a button -> click button).  The Google Cardboard does have a physical button, but the fallback VR experience does not AFAIK have a pointer down handler on that part of the screen, so there's no built-in way for the cardboard to interact.  There is a lot of new gaze code in the VR Experience Helper, so I need to revisit it to give you a proper answer.

Best thing is to make a scene and try in a VR device - most of the mechanics will become much clearer.  Cheers.

Link to post
Share on other sites
7 minutes ago, brianzinn said:

Best thing is to make a scene and try in a VR device - most of the mechanics will become much clearer.  Cheers.

What constutes a real VR device... only full headsets ... is gear VR and occulus go a real VR device... I have one of each... but no full headset

Link to post
Share on other sites

I would consider both of those real VR devices, even a Cardboard; I have a GearVR, too.  If you build something that works on those devices, my experience is that it will only work better on full headsets.  What I have found is that the GearVR even on a Samsung S8, is much lower resolution and power than a full headset, so I tend to need to rethink and improve my design.  It is a paradigm shift from traditional Web development.  When you drop into VR you lose all the HTML and Full Screen GUI, so everything needs to be in the scene itself.

Link to post
Share on other sites

I would consider a full VR device as one with 6DOF for both the headset and controllers.The standalone Go/GearVR is only 3dof, but it is still very important vr device imo because of its low price which makes it more available to the public.

Since you have lots of experience in 3d web, moving to webvr should be easy imo.
You probably need to learn only a few concepts to get started:

  • VR platform specific controllers handlers/callback
    Babylonjs already provides abstractions for this. Afaik, the standard libs are sufficient.
    As each controller has its own unique buttons etc, the handling is a bit different for each controller.
  • GUI for VR.
    Babylonjs also provides the UI layer for VR.
    You want to get used to the input methods via the controller

Performance is harder to achieve than browser 3d apps. Depending on the complexities of the scenes, getting 60 fps or higher on webvr can be challenging, especially on low end device like Go.

As far as build and packaging, it is separate from bjs. It's true this is not covered by bjs docs as this is not considered core bjs stuff. But this gives you flexibility to choose whichever webapp framework you want to use. I personally use the angular with bjs npm packages, it's really easy to debug and package the app. I am sure the same is probably true with others.

Link to post
Share on other sites


In my article: https://www.davrous.com/2017/12/22/babylon-js-vrexperiencehelper-create-fully-interactive-webvr-apps-in-2-lines-of-code/ 

I'm providing a sample to show how to use gaze for a timing selection approach: https://playground.babylonjs.com/#5P51YL 

It will work on a card board which has no form of input controller as well as on Gear VR and Oculus Go. You should always go on the VRHelper as it has been made to address all VR scenarios. The WebVRCamera is a building block of the VRHelper. It should only be used directly for very custom / specific use cases.


Link to post
Share on other sites

One FYI question... Is the reason the teleportation because people get motion sickness ??

Is there ever a time you will move the camera like with a gamepad in a webvr scene ???

How would i tell the createDefaultVRExperence to use WebVR Gamepad Camera instead of WebVR Free Camera and to use VRDeviceOrientationGamepadCamera instead of VRDeviceOrientedFreeCamera... If trying to actually provide movement in the VR world via the Gamepad... OR SHOULD I NEVER USE GAMEPAD MOVEMENT in WebVR world...

I dont seem like i am getting sick in the headset at all... Just wondering if i should add a 'Use Gamepad' option to my camera rig to allow the use of Gamepad WebVR and VRDeviceOriented cameras...

Yo @davrous What is your 2 cents on this ???

Link to post
Share on other sites

Wow... This WebVR in just my oculus go is addictive... i can only imagine a full headset with 6dof.

I gotta say... you really have to actually experience webvr to get it... The movement, the teleportation... all the docs are just words until you actually put on a headset and press UP to activate teleport, once you get used use to POPPING all over the place like the movie "Jumper"... It gets pretty clerar how you can make a game and handle the various types of movement you may need for your VR game.

I am loving it... Going to try and throw together a fee simple VR games from various tutorials to see what i can come up with using the Babylon Toolkit Style Game Development  :)


Link to post
Share on other sites
  • 2 months later...
On 6/26/2018 at 11:18 AM, davrous said:

Most of the people are sick when you're moving the camera using gamepad or thumbsticks, that's why almost all VR experiences & games are offering teleportation instead. Some VR experiences are offering both. I've decided to only expose a teleportation option in the VR Helper. It's also my favorite way of moving in VR ;)

i have a question
 i want to know how can i teleport with just clicking on a button or gazing  in scene

actully i dont want to use Teleport Controller .... i just want to teleport with gazing

Link to post
Share on other sites

I dont think manually teleporting is possible right now. There is a private method in the vr experience helper class that I can make public though for this use case as it seems useful.

PR: https://github.com/BabylonJS/Babylon.js/pull/5060

after this is merged vrHelper.teleportCamera(sphere.position) should work to teleport the users feet somewhere see: http://localhost:1338/Playground/index-local.html#TAFSN0#95

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...