I received an Oculus Quest at work today. First thing I did was navigate to a test site I’ve been developing using the quest browser. It looks great! I’m so impressed with Babylon.JS and how we are able to deliver VR content without going through Steam or Oculus stores!
Book Update: I’ve nearly finished another chapter (that’s 3 finished). As soon as I have more to show and my website updated I will let share.
I got my quest yesterday. I tried loading models on oculus browser, it works okey, need to customize controllers.
Any good reference for controller customization ?
I tried some demos and one of my projects in the Quest default browser, too. (Might try Firefox Reality as well sometime)
It is really great that it works so nicely out of the box! Only PBR Materials do have a huge impact on performance when they are displayed on a huge part of the viewport
Also +1 to the controller question. If there was an easier way for interactions than building the whole logic myself then I would try to do more with it.
I am thinking about best methods for easy navigation and interacting with meshes. I will be developing it for industrial training. I work with offshore oil & gas system. We have developed a concept called Plantdesk. A group of developers are working with our industrial data management platform. 3D is one part in it.
I altered the system there to parent objects directly to the controller instead of using the virtualSelected mechanic of the playground because I found it to be rather complex.
Grabbing works pretty great but gravity still pulled the objects down when grabbed. Then I found the PhysicsImpostor.sleep() and .wakeUp() for freezing physics for that time. That solved this problem but there is no velocity on the object when releasing it. Might go on implementing the virtualSelected mechanic as I can’t find a better way
I tried Physics Joints, too. Sadly I couln’t find the correct configuration (I think LockJoint would be correct, but it is too wobbly). Also there is no easy way to find connected joints and remove them after releasing an object. Did I miss something here?
I’d keep the virtual selector controller from the previous frame, then when you release the impostor, add an impulse. The velocity of that impulse is the vector delta of the virtual controller (current frame position minus previous frame position) divided by the frame duration (0.0166 seconds for 60Hz refresh). that’s equal to the distance divided by the duration.
Now you have the velocity you want to give to the impostor, multiply by the impostor mass to get the force.
Add that force as an impulse to the impostor when you wake up the impostor and you should be good
If you have some difficulties, I’d be happy to help you debug your playground.
It is far from perfect and pretty wonky for now but it finally works! At least the grabbing and throwing
I will try to flesh it out more and add click interaction. Maybe extend the class from the VR Helper? Don’t know yet.
Will ask for feedback when I’m done
Hopefully it will be something that others can reuse, too.
But I think “Questions” is the wrong place for that. Maybe Demos and projects would be the right category then?