Puppetry Setup
Warning: The Puppetry system is still in a pre-release state, and as such the instructions will change. Be careful that the guide you follow is up-to-date with the current Puppetry viewer.] |
As it stands right now, the puppetry viewer isn't that easy to set up for the average user. This page will hopefully help people find resources to allow them to get the puppetry system running on their computer.
This guide should be followed in a linear fashion for the easiest setup experience - also see Guides for more info.
This article valid as of 22/12/2022 (dmy).
Viewers
First things first, we'll need to download a Puppetry-enabled viewer. Below lists currently-known Puppetry-compatible viewers.
- Linden Lab Official Viewer (Second Life Project Puppetry branch)
- Firestorm Test viewer (self-compile)
Dependencies
Before we continue, we'll need to download and install a couple of additional things that the Puppetry viewer relies on.
Important: These dependencies assume that you are running Windows on your machine. Dependencies will be different if you use MacOS or Linux. |
Warning: Python versions above 3.10 are unsupported at this time due to dependencies (Mediapipe) |
- Microsoft Visual Studio (Full install, and VS C++ build tools)
- cmake
- Python (Official runtime, available on website)
Warning: While a Python runtime is available from the Microsoft Store, this version is incompatible with the Puppetry viewer. Only use the version from the Python website (linked above). |
(Optional)
Guides
Okay! Now we're getting somewhere. The following guides will instruct you on how to build the LEAP framework that the Puppetry viewer relies on.
Tip: If you don't understand one guide, try another! |
Plugins
Great! So we've got the LEAP framework installed. Now we need a plugin to interface with LEAP to control Puppetry!
Webcam Puppetry
Author: Linden Lab
Description: Use your webcam to translate your movements in real life into Second Life!
LEAP Plugin: webcam_puppetry.py
Link: LEAP Repo.
Requirements
- An OpenCV-compatible webcam. (Most are, but there are some exceptions)
Caveats
- OBS Virtual Camera never initializes. (This is an OpenCV bug).
- Slower webcams may fail to initialize in time, causing the plugin to close with a failure. (This is a bug - can be worked around by changing
Line 51
incamera.py
fromself.device = cv2.VideoCapture(self.capture_id)
toself.device = cv2.VideoCapture(self.capture_id, cv2.CAP_DSHOW)
) - The default framerate of Webcam Puppetry is a maximum of 10 fps. This can be changed by modifying
Line 104
inwebcam_puppetry.py
fromUPDATE_PERIOD = 0.1
toUPDATE_PERIOD = 0.04
. This will change the Puppetry framerate to be a maximum of 25 fps.
Blender SL Puppetry
Author: Chaser Zaks
Description: Animate your avatar by manipulating a Blender armature!
LEAP Plugin: puppetstream.py
Link: Github Repo.
Requirements
Caveats
- None known.
Puppetry-enabled locations
Once you're set up, you'll want somewhere to test!
Currently, only a few regions on the Beta grid (Aditi) have puppetry enabled: