Code Monkey home page Code Monkey logo

Comments (2)

Trixelized avatar Trixelized commented on June 10, 2024

The desktop WASD and mouse controls just exist to simulate where the player's head would be if there is nothing to actually track. If you want to disable this for desktop, you can change t.modules.headset to false in lovr.conf. You can check if the current driver is desktop with lovr.headset.getDriver.

from lovr.

jmiskovic avatar jmiskovic commented on June 10, 2024

There are at least two approaches. One would be to ignore the player's head moving through walls, but design the experience so that player cannot really take advantage of it - for example using really thick walls and restricting locomotion to teleportation-only. You could also teleport player back if they go too far into the wall. This approach can be done using the physics engine and the colliders (or at least sensor shapes) to detect when collision with wall happens. Details would depend on your overall concept and how the locomotion fits inside it.

The second approach is to actively block the head from moving into the wall. You have to be careful thought, because you usually want to keep 1:1 relation between real world head movement and VR camera movement, or some people might experience disorientation or nausea otherwise. Gorilla Tag uses this approach, both the head and torso cannot ever penetrate the wall. The basic gist is that you use a sphere collider to represent the head, and fixate the camera on this sphere. This gets quite tricky because the sphere position and orientation is controlled from three sources: the head movement, the physics collision response, and the VR locomotion system.

This is actually not an easy problem. It's good to keep it in mind when designing the VR environment.

from lovr.

Related Issues (20)

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.