Friday, September 2, 2022

Linden Lab Working on "Puppetry" Feature

 A few days ago in the Tools and Technology blog, Linden Lab stated they were working on a new and experimental feature for moving Second Life avatars, which they called "Pupetry."

 We have been working on this feature for some time and now we are ready to open it up to the Second Life community for further development and to find out what amazing things our creators will do with this new technology.

The codebase is alpha level and does contain its share of rough edges that need refinement, however the project is functionally complete and it is possible for the scriptors and creators of Second Life to start to try it out.

The Lab explained some how it works.
 Puppetry accepts target transforms for avatar skeleton bones and uses inverse kinematics (IK) to place the connecting bones in order for the specified bones to reach their targets.  For example the position and orientation “goal” of the hand could be specified and IK would be used to compute how the forearm, elbow, upper arm, and shoulder should be positioned to achieve it. The IK calculation can be tricky to get right and is a work in progress.

The target data is supplied by a plug-in that runs as a separate process and communicates with the viewer through the LLSD Event API Plug-in (LEAP) system.  This is a lesser known functionality of the Viewer which has been around for a while but has, until now, only been used for automated test and update purposes.

The Viewer transmits the Puppetry data to the region server, which broadcasts it to other Puppetry capable Viewers nearby.  The receiving Viewers use the same IK calculations to animate avatars in view.

People can find more information in "Puppetry : How it Works" in the Knowledge Base. There are some known limitations and issues such as avatars needing to be Bento technology and the project viewer occasionally crashing. 
To be able to use this technology, go to the Alternate Viewers page and download the Puppetry Viewer. The regions that support it are all in the Preview Grid, which is separate from the main one, and are Bunraku, Marionette, and Castelet. With the viewer, you should be able to see others use it. To use it yourself, the Lab says you need, "a working Python3 installation, a plug-in script to run, and any Python modules it requires." One can get more instructions at the Puppetry Development page on the wiki. 
Also at Bunraku, Marionette, and Castelet on the Preview Grid, the Lab will be having a discussion at Thursday Sept 8 at 1PM SL time, "We're also happy to talk about this at the upcoming Server User Group or Content Creator meetings.  Come by, let us know what you think, and hear about our future plans!"

Bixyl Shuftan

1 comment:

  1. Yay more useless junk that will make SL work poorly. Where is this so called meeting going to be held i know a certain interstellar dragon dj that would love to "critique" their projects.