Mesh picking: only part of a mesh is clickable (car deck lid) #120

Closed
opened 2026-09-27 17:22:47 +00:00 by sky_line · 2 comments
Owner

Clicking a mesh only works on part of its surface.

Repro: on a car, the trunk/deck lid is a single mesh object with a click-to-open script. Only the rear area of the trunk and a small strip of the deck lid respond to clicks; most of the deck lid doesn't. The whole mesh should be clickable.

Candidates to check:

  • Picking raycasts against the wrong geometry for this mesh: a different LOD, or the physics/convex shape instead of the render mesh. Stale geometry after a LOD switch would also do it.
  • The pick uses a stale or incorrect transform for linkset children or vehicles: the render pose (vkRenderLocalPose, drawable vs object position) differs from the pose the ray test uses. The hit area would then be offset from what's drawn, which matches "only the back part works".
  • Per-face or alpha pick masks: LLImageGL pick mask / alpha classification on the VK path, for faces with alpha-masked or transparent textures.
  • The octree ray test (LLVolume octree, lineSegmentIntersect) using the wrong LOD/volume on VK. Note the many "Octree insertion failed" warnings seen in tester logs.

To collect: does the same car pick correctly in GL-era builds or another viewer? Does it change with the car stationary vs. just after driving, or at a different LOD (move closer/farther)? Show pick info (Develop → Show Info → hover pick / the pick debug overlay) over the dead area.

Clicking a mesh only works on part of its surface. **Repro:** on a car, the trunk/deck lid is a single mesh object with a click-to-open script. Only the rear area of the trunk and a small strip of the deck lid respond to clicks; most of the deck lid doesn't. The whole mesh should be clickable. **Candidates to check:** - Picking raycasts against the wrong geometry for this mesh: a different LOD, or the physics/convex shape instead of the render mesh. Stale geometry after a LOD switch would also do it. - The pick uses a stale or incorrect transform for linkset children or vehicles: the render pose (`vkRenderLocalPose`, drawable vs object position) differs from the pose the ray test uses. The hit area would then be offset from what's drawn, which matches "only the back part works". - Per-face or alpha pick masks: `LLImageGL` pick mask / alpha classification on the VK path, for faces with alpha-masked or transparent textures. - The octree ray test (`LLVolume` octree, `lineSegmentIntersect`) using the wrong LOD/volume on VK. Note the many "Octree insertion failed" warnings seen in tester logs. **To collect:** does the same car pick correctly in GL-era builds or another viewer? Does it change with the car stationary vs. just after driving, or at a different LOD (move closer/farther)? Show pick info (Develop → Show Info → hover pick / the pick debug overlay) over the dead area.
Author
Owner

Likely fixed by ceff65953c: the VK pick broadphase used only the first-captured LOD bounds, so a mesh was pickable only where that LOD overlapped the one on screen (matches "only the rear of the deck lid"). Please re-test the car on the next build; if any dead area remains, turn on RenderVKPickDiag, hover it, and attach the log.

Likely fixed by ceff65953c: the VK pick broadphase used only the first-captured LOD bounds, so a mesh was pickable only where that LOD overlapped the one on screen (matches "only the rear of the deck lid"). Please re-test the car on the next build; if any dead area remains, turn on RenderVKPickDiag, hover it, and attach the log.
sky_line added this to the Slipstream project 2026-10-06 15:04:15 +00:00
Author
Owner

Ticket audit 2026-10-07: done and shipped in 0.12.0 Beta 9. Pick boxes cover every resident LOD (ceff65953c) + RenderVKPickDiag (9183932eff); mesh picking further fixed in #509. If you still see the problem on the current beta, please reopen or file a new report.

Ticket audit 2026-10-07: done and shipped in **0.12.0 Beta 9**. Pick boxes cover every resident LOD (ceff65953c) + RenderVKPickDiag (9183932eff); mesh picking further fixed in #509. If you still see the problem on the current beta, please reopen or file a new report.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#120
No description provided.