Weather: avatars don't shelter themselves, so snow lands inside mouths and on tongues #909

Closed
opened 2026-10-21 03:17:16 +00:00 by sky_line · 1 comment
Owner

Bug

An avatar's own body doesn't cover its lower parts from falling snow. Snow collects on surfaces that should be hidden from the sky by the avatar itself, most visibly in the bottom of the mouth and on the tongue (under the upper jaw and muzzle), and likely also under the chin, under arms and in other overhangs.

Expected

The avatar's own geometry shelters what's beneath it: only surfaces that see the sky get snow, the same as for worn umbrellas and hats. The inside of the mouth, under the chin and the underside of limbs should stay clear.

Notes

  • The per-avatar shelter map (#901) holds the top height of each column of the avatar. A fragment more than a small tolerance below that top should count as covered, whether the cover is something worn or the avatar's own body. Check whether the body mesh itself (rigged body, head and mouth parts) is rasterised into the map, or only attachments that are not part of the body.
  • The coat test may be skipping self-cover on purpose (to keep snow on shoulders under a head, for example). The tolerance needs to work at mouth scale, a few centimetres.
  • Check with the debug tint RenderVKWeatherAvatarShelterDebug: the inside of an open mouth should show red (covered), not green.
  • Related: #901, #903.
## Bug An avatar's own body doesn't cover its lower parts from falling snow. Snow collects on surfaces that should be hidden from the sky by the avatar itself, most visibly in the bottom of the mouth and on the tongue (under the upper jaw and muzzle), and likely also under the chin, under arms and in other overhangs. ## Expected The avatar's own geometry shelters what's beneath it: only surfaces that see the sky get snow, the same as for worn umbrellas and hats. The inside of the mouth, under the chin and the underside of limbs should stay clear. ## Notes - The per-avatar shelter map (#901) holds the top height of each column of the avatar. A fragment more than a small tolerance below that top should count as covered, whether the cover is something worn or the avatar's own body. Check whether the body mesh itself (rigged body, head and mouth parts) is rasterised into the map, or only attachments that are not part of the body. - The coat test may be skipping self-cover on purpose (to keep snow on shoulders under a head, for example). The tolerance needs to work at mouth scale, a few centimetres. - Check with the debug tint `RenderVKWeatherAvatarShelterDebug`: the inside of an open mouth should show red (covered), not green. - Related: #901, #903.
sky_line added this to the Slipstream project 2026-10-21 03:17:16 +00:00
Author
Owner

Fixed in 1.4.1 (20b46d5e8a). Reopen if you still see it.

Fixed in 1.4.1 (20b46d5e8a). Reopen if you still see it.
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#909
No description provided.