mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-04 13:33:34 +00:00
Origin type used to be a query-able property of the VR system that indicated whether the tracking was roomscale or seated-scale. The t.headset.offset config value could be used to design an origin-agnostic experience, which by default shifted content up 1.7 meters when tracking was seated-scale. That way, stuff rendered at y=1.7m was always at "eye level". It worked pretty well. It's getting replaced with a t.headset.seated flag. - If seated is false (the default), the origin of the coordinate space will be on the floor, enabling the y=1.7m eye level paradigm. If tracking is not roomscale, a floor offset of 1.7m will be emulated. - If seated is true, the origin of the coordinate space will be y=0 at eye level (where the headset was when the app started). This is the case on both roomscale and seated-scale tracking. So basically 'seated' is an opt-in preference for where the app wants its vertical origin to be. One advantage of this is that it's possible to consistently get a y=0 eye level coordinate space, which was not possible before. This makes it easier to design simpler experiences that only need to render a floating UI and don't want to render a full environment or deal with offsetting everything relative to a 'floor'. This also makes it easier to implement hybrid VR+flatscreen experiences, because the camera is at y=0 when the headset module is disabled. The opt-in nature of the flag, coupled with the fact that it is consistent across all types of tracking and hardware, is hopefully a more useful design. |
||
---|---|---|
.. | ||
shaders | ||
Activity.java | ||
AndroidManifest.xml | ||
AppRun | ||
boot.lua | ||
Info.plist | ||
logo.svg | ||
lovr.desktop | ||
lovr.html | ||
lovr.icns | ||
lovr.ico | ||
lovr.rc | ||
lovrc.bat | ||
monkey.glb | ||
monkey.h | ||
monkeycrush.lua | ||
nogame.lua | ||
shaders.h | ||
VarelaRound.ttf | ||
webxr.js |