Avatar physics bones: bone drifts to an unrelated spot after an animation on it ends #207
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#207
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Avatar physics (jiggle / bounce: breasts, belly, butt, and the bento collision-volume bones they drive) has several bugs, some inherited from LL. This ticket starts with the most visible one and tracks the rest as they're found.
Bug 1: drift after an animation releases the bone
When an animation animates a physics-driven bone and then ends, the bone doesn't return to its rest position. It drifts to some unrelated spot, and physics then continues from there. Expected: when the animation releases the bone, it goes back to its original (rest + visual-param) position first, and physics resumes from that rest pose.
Background
LLPhysicsMotion(indra/newview/llphysicsmotion.cpp) simulates each physics group and writes "driven" visual params (*_Physics_*_Driven). Those params deform collision-volume joints (position / scale via skeletal distortions).llcleananimstore.cpp) evaluates keyframes on the GPU. Non-animation local writes (visual params, avatar physics, joint overrides, skeleton resets) are tracked per joint byLLJoint::mGpuExtWriteand uploaded as base writes applied before the blend.Other physics issues to fold in here (fill in as found)
Bug 1 (drift after an animation releases the bone): fixed in
bb867f35ab.Confirmed working in-world.
RenderVKPhysicsDiag(debug) logs the physics collision volumes for your avatar orRenderVKDumpAvatar's, for any further physics reports.Leaving this open as the umbrella for the other avatar-physics issues as they're found.
Done. Bug 1 (drift after an animation releases a physics-driven bone) fixed in
bb867f35aband confirmed working in-world (see the earlier comment). No other physics bugs are listed on this ticket; file new ones separately. Shipped in 1.2.0.