Skip to content

1c - XRI UI laser pointers, screen and wall fade, swim check; videos now lock the player - #425

Merged
JaXt0r merged 2 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-1c
Oct 23, 2026
Merged

JaXt0r merged 2 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-1c

Conversation

@JaXt0r

@JaXt0r JaXt0r commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Merge order: 1a → 1b → 1c → 1d → 2a → 2b → 3a → 3b → 3c, all into engine/hvr-replacement (no stacking). Each branch still contains the commits of the earlier steps, so after the earlier PR is merged the diff of this one shrinks to its own step. Plan: Docs/HVR-replacement/.

Description

Phase 1c: UI, fades and swimming on the XRI rig (needs 1b). Default backend stays Hvr.

  • EventSystem with XRUIInputModule on the XRI rig, one UI-only ray per controller, XriUiPointers adds a TrackedDeviceGraphicRaycaster per registered canvas and tells which hand pressed (Marvin-logo haptics).
  • Own ScreenFade (shader Gothic/VR Screen Fade) and WallFade (screen darkens when the head goes into geometry) on the XRI camera. XriRig.Fade drives the screen fade; dive darkness uses it.
  • Hero subtitles and status bars on the XRI camera.
  • Both backends: VRCinema now locks the player during videos (it looked for VRPlayer in its parents, but Cinema is a sibling) and no longer leaves the player locked when the world load unlocks during the intro. Side effect: after the world load you can move and turn during the rest of the intro video.

To test

  • - Hvr: play the intro video; you can't jump/crouch/open menu during it, and everything is usable afterwards.
  • - Xri: menu laser clicks every main-menu page and the virtual keyboard; settings sliders work; Marvin logo poke vibrates the correct hand.
  • - Xri: dialog with an NPC (start via menu), subtitles visible, choose an answer with the laser.
  • - Xri: put your head into a wall → screen fades to black, back out → clears.
  • - Xri: swim and dive (strokes, darkening with air, walking out of the water).
  • Known: the stick still moves the player in water on both backends (HVR never disabled it); swim checks use the XR Origin position, which can differ from the body in room-scale.

Test on (delete if irrelevant)

  • PCVR
  • Mobile VR (Quest/Pico)

🤖 Generated with Claude Code

…e, UI-only ray per controller, TrackedDeviceGraphicRaycaster per registered canvas), screen fade and head-in-wall fade on its camera, plus hero subtitles and status bars; swim/dive checked on the XRI rig (HVR phase 1c). Both backends: videos now lock the player (VRCinema found no VRPlayer before) without leaving it locked when the world load unlocks it during the intro.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JaXt0r JaXt0r mentioned this pull request Oct 23, 2026
@JaXt0r

JaXt0r commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

Issues, to be resolved or changed later:

  1. Head never sticks into the wall as it is blocked from going into (poking back)
  2. Marvin menu is rotated wrong (fixed later, when we have a hand and actually see, where it should be placed).

@JaXt0r
JaXt0r merged commit 1a5ff78 into engine/hvr-replacement Oct 23, 2026
@JaXt0r
JaXt0r deleted the engine/hvr-replacement-1c branch October 23, 2026 04:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant