Skip to content

Independent motion-controller aiming for grapple and guns #28

Description

@philpax

Problem

The mod renders in stereo and tracks the player's head, but aiming is still gaze-coupled — the grapple, gunfire, and reticles all follow the camera ray. For a hands-first VR experience the player should aim each hand independently: the left controller points the grapple, the right controller points the guns, and dual-wielded weapons fire at two separate targets. This is the marquee mechanic that turns the VR runtime from "watch through a headset" into "play with your hands."

Context

The design and the reverse-engineered ground truth are already complete — this issue exists to track the implementation work, not to re-open the design. Two docs carry the full detail:

  • docs/mod/controllers-and-roomscale.md — the plan: phase 2 (the aim split, grapple-left/gun-right), phase 4 (dual-wield independent targets), the per-mode input tables, and the risks.
  • docs/engine/hands-and-roomscale.md — the engine recon: the weapon-to-hand attachment chain (§1), the per-arm aim IK and its head-effector conflict (§2), and the roomscale root-motion path (§3–4) that the aiming composes with.

The aim pipeline itself (docs/engine/aim-pipeline.md) and the grapple pipeline (docs/engine/grapple-pipeline.md) are the supporting recon for the seams this work touches.

This is milestone 2 of the suggested issue split in docs/mod/controllers-and-roomscale.md ("Split aiming: grapple-left, gun-right"), gated on the controller input foundation (milestone 1). Phases 1–2 are the highest value-to-risk; everything downstream reuses their seams.

Proposed approach

Implement as scoped in docs/mod/controllers-and-roomscale.md phase 2: post-hook the aim update to re-cast the grapple ray from the left controller and overwrite the grapple aim slot, write the per-weapon aim target from the right-controller ray, and add a mod-drawn weapon reticle. A config fallback to gaze aim per consumer keeps regressions a toggle away. Full technical detail is in the linked docs; this issue tracks the work item.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestinputInput and controls

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions