Investigate SL Puppetry (LEAP-driven real-time avatar animation): status, code, fit with VR (#251) #494
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#494
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?
Investigate Second Life Puppetry: https://wiki.secondlife.com/wiki/How_Puppetry_Works
Related to the VR epic #251: head and hand tracking from an OpenXR headset could drive the avatar through the same joint-streaming path.
What it is (from the wiki)
LLPuppetModulein LL's Puppetry project viewer.inverse_kinematics: avatar-frame position/rotation targets.joint_state: parent-frame position, rotation and scale.set,get.enable_parts(head/face/hands/fingers mask),set_camera,set_skeleton,stop.arm_wave.py,webcam_puppetry.py).Questions to answer
LLPuppetModule, the IK solver, the message names and caps used for the simulator relay. Work out how much of it is already in our LL-derived base and how far it has diverged. (LL's code is fine to build on.)LLLeap,--leap)? Is it safe to expose? It runs external processes, so it needs a security review before it goes anywhere near users.joint_statepath, so other users see your real head and hand movement? Compare that with a purely local VR rig.Deliverable
A short write-up covering server status, the code location and its divergence from our base, an integration sketch (local-only first, then networked if the server supports it), the security notes on LEAP, and a go/no-go with an estimate. No implementation in this ticket.