Jump to content

Are you running babylonjs on vive or rift ?


Recommended Posts

I've been testing the babylonjs on the windows mixed reality platform with Edge browser. It's relatively stable except for various vr-related bugs that I reported :), but the excellent bjs team has been on top of things very timely.

My question for other users on this forum is how is babylonjs running on VR platforms? Specifically vive and rift. What I am looking for are:
1. stability: crashes, hangs, etc
2. performance: aliasing issues, frames-per-sec, etc.
3. webvr/webgl conformance: all babylonjs demo running ok ? any quirkiness where some apps don't run on certain platforms? did you try the supermedium browser and notice any advantages?

As you know one of the key advantages of being a webvr app is to be able to support multiple vr platforms easily (though I guess you still have to handle the controller idiosyncrasy), and I am also considering getting the vive/rift vr headset for portability testing.

If you've been doing babylonjs on vive/rift and don't mind sharing your experience, would you  please reply to this thread. Thanks!!

Adding @davrous as I suspect he's been using vive? on babylonjs. ^^


Link to comment
Share on other sites

15 minutes ago, HoloLite said:

My question for other users on this forum is how is babylonjs running on VR platforms?

I can add some thoughts on Oculus Gear VR and Daydream platforms.  I don't use them a lot, since I got a Samsung Odyssey!  I really wanted to support both of these VR options based on the # units sold.  I did sorta try with Cardboard, but calibrating from a QR code scan (that part is manageable) and then converting to VRMetrics was a lot of headache, literally.  I have a couple of posts with tips for all the needed pieces except actual VR Metric conversion should anybody want to take that further.

1. Samsung Internet is pretty reliable, but have had issues where I needed to restart it continuously.  Don't think related to BJS specific.  Didn't try Oculus Carmel browser.
2. I'm using top phones (S8 and Pixel2) and not full FPS, but it's acceptable.  I'd be happy to try a benchmark page to get FPS.  I've been watching the sceneOptimizer thread might help here.   Scaling and aliasing - it's considerably harder to read smaller text on GUI Textures, even with high DPI on S8.
3. On Android Chrome I needed to set a couple of chrome://flags to get a good experience - not really something I'd expect regular users to do.

Anyway, maybe you only wanted vive/rift, but lots of VR phones out there, too.  I added very basic support for Gear VR and Daydream in that the trigger button and teleport rotations will work in 3.2.  Would love to take this further and integrate the controller model in 3.2 (like WinMR does), if I wasn't super busy with a new project - will get there at some point.  There is a post in Announcements if anybody wanted to make that a more seamless experience.  Cheers.

Link to comment
Share on other sites

Thanks for the reply. I am interested on mobile vr too and actually own the Samsung gear and older dream view. I had this assumption that the mobile vr just don't have enough juice to run webvr and I did not bother trying. Well now I will try your work on the controller for gear. Was it completed yet? Did you use the latest dream view? Nice to see someone is working to support the mobile vr for bjs. 

Link to comment
Share on other sites

Btw I had surprisingly good experiences with the Samsung browser on the gear. It's very fast and renders well. The oculus browser is horrible. Did it actually ever work? 

It would be super cool to support the upcoming rift go and vive focus. Seems like the standalone headset is the perfect device for webvr :)

Link to comment
Share on other sites

56 minutes ago, HoloLite said:

Was it completed yet? Did you use the latest dream view?

"Completed" - would say no and that's why I like to call it "basic" support - not until the controllers with rays are shown like the the WinMR headset.  I think we can use the GoogleVR models for Daydream (apache 2), but I can't find a Gear VR model.  It is an improved situation in that at least the buttons work, so you can click on things and rotate/teleport.  My game is playable in both and that has been my testing ground and initial goal.  The daydream viewer I was using is an older one.

I must add that it is still a great immersive experience in Samsung Internet - hope I didn't sound too harsh.  It was a big WOW moment after only using cardboard :) The Oculus Browser doesn't have the best ratings, but is listed as supported on WebVR.info.

I'm interested to hear more about the rift and vive, too - Good topic!

Link to comment
Share on other sites


When we started working on implementing WebVR in Babylon.js with @RaananW, we did it in Chrome (special builds) and Firefox using Oculus Rift/Touch and the HTC Vive. The support for Windows Mixed Reality came after. So you don't have to worry about Oculus/HTC support. You can even simulate a HTC Vive in Firefox using your Windows MR HMD by installing SteamVR and the Windows Mixed Reality bridge from Stream. It won't work as well as a real HTC Vive but can be useful to have an idea of your code running in this environment.

Regarding performance and stability, for now, only Firefox has an official WebVR support on desktop. It's pretty stable as I'd say at least as performant as in Edge if not better. Chrome has the best performance specifically when you have a lot of draw calls but WebVR is not yet officially supported.

As you said, the beauty of WebVR and web technologies is that this is supposed to run everywhere. Everybody knows this is not - that - simple and that's why Babylon.js is taking care of a lot of details for you behind the hood. So you can be confident in the fact that using Babylon.js WebVR features, your code will run on as much platforms as possible. The team is spending time validating the code on them.

The main important point will be the performance of the device targeted. Of course, a scene like Sponza made for high-end HMD / desktop won't run well on mobile WebVR devices. I've tested on a Samsung S8 / GearVR for instance and the scene is too complex for this device. That's why we often see very simple scenes with low poly created for a mobile first experiences. 

I've tried to cover a little bit this topic in this article on my blog: https://www.davrous.com/2017/07/07/from-zero-to-hero-creating-webvr-experiences-with-babylon-js-on-all-platforms/



Link to comment
Share on other sites

@davrous Thanks for the response. It's great to hear straight from the babylonjs hero on this topic! ^^

Ok now that it's been confirmed vive and oculus and winmr are supported actively by babylonjs I feel much better. This does not seem to be mentioned explicitly on the website though. I think it's worthwhile to mention this so people out there who are looking for webvr platforms will notice. 

I do have the supermedium browser question for you. I know it's a kind of too early but do you plan to support it? For ex: If we found issues on babylonjs side when running vive/supermedium/babylonjs stacks, would you fix them? 


Link to comment
Share on other sites

We don't specify we're supporting all those HMD because it's obvious to me to implement WebVR and support all devices. Still, in the various communications I've done, I've been demonstrating our content on HTC Vive, Oculus Touch and Windows MR. Lately, I'm demonstrating very often on Windows MR as it's much more easy to setup everywhere I'm going to.

For supermedium, I've started discussing with them. I don't know which browser engine they're using under the hood. But it looks like to be Firefox, so it should run Babylon.js without any issue.

My main concern about his approach, which is cool by the way, is by forcing a specific browser engine, this is limitating the HMD supported to HTC Vive and Oculus Rift. I've tried to make it worked via the SteamVR Vive emulation but I didn't manage to load any scene.

Still, I'm going to propose some of our Babylon.js demos. To make it works, I need to listen to vrdisplayactivate to automatically enter VR on navigation. 


Link to comment
Share on other sites

Ha! This is getting interesting. 

Incidentally yesterday I was in contact with the same guy KevinNgo about support for winmr. My babylonjs sample apps don't run well with the steamvr emulation on winmr. I asked him for native winmr support in the near future and he agreed although no commitment. He said the issue was they use gecko engine and there is no windows implementation yet.

I also asked him why he did not show any babylonjs on supermedium gallery. He explained the long loading time issue and said he was talking to a babylonjs guy about it... And I thought that 'guy' must be either Deltakosh or you! And turned out to be the latter. Hehehe. 

As winmr is well integrated with win 10 and Edge also takes advantage of it, I don't see how even the native supermedium/steamvr stack can beat Edge's performance. But as long as they are reasonably fast it is good enough imo. 

Ah yes you need to make the scene automatically enter vr or otherwise it won't load under supermedium unless you manually click the VR button. I wondered about that and thanks for telling me the solution. 

Link to comment
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...