Difference between revisions of "Puppetry Setup"
(Create puppetry setup page, to guide users on how to correctly set up their system for the Puppetry viewer.) |
(Update links to reflect move to Github) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Puppetry]] | [[Category:Puppetry]] | ||
{{TOC}} | |||
{{KBwarning| 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.]}} | {{KBwarning| 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. | 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|Guides]] for more info'''. | |||
<b>This article valid as of {{REVISIONDAY}}/{{REVISIONMONTH1}}/{{REVISIONYEAR}}</b> (dmy). | <b>This article valid as of {{REVISIONDAY}}/{{REVISIONMONTH1}}/{{REVISIONYEAR}}</b> (dmy). | ||
= Viewers = | = Viewers = | ||
First things first, we'll need to download a Puppetry-enabled viewer. Below lists currently-known Puppetry-compatible viewers. | |||
*<b>[https://releasenotes.secondlife.com/viewer.html Linden Lab Official Viewer (Second Life Project Puppetry branch)]</b> | *<b>[https://releasenotes.secondlife.com/viewer.html Linden Lab Official Viewer (Second Life Project Puppetry branch)]</b> | ||
*[https://github.com/Kadah/phoenix-firestorm_puppertry_exp Firestorm Test viewer (self-compile)] | *[https://github.com/Kadah/phoenix-firestorm_puppertry_exp 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. | |||
{{KBcaution|These dependencies assume that you are running Windows on your machine. Dependencies will be different if you use MacOS or Linux.}} | {{KBcaution|These dependencies assume that you are running Windows on your machine. Dependencies will be different if you use MacOS or Linux.}} | ||
{{KBwarning|Python versions above 3.10 are unsupported at this time due to dependencies (Mediapipe)}} | |||
* Microsoft Visual Studio ([https://visualstudio.microsoft.com/downloads/#visual-studio-community-2022 Full install], and [https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022 VS C++ build tools]) | * Microsoft Visual Studio ([https://visualstudio.microsoft.com/downloads/#visual-studio-community-2022 Full install], and [https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022 VS C++ build tools]) | ||
Line 24: | Line 31: | ||
(Optional) | (Optional) | ||
* [https://git-scm.com/download/win GIT runtime] | * [https://git-scm.com/download/win GIT runtime] | ||
= 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. | |||
{{KBtip|If you don't understand one guide, try another!}} | |||
*<b>[https://github.com/secondlife/leap/blob/main/puppetry/README.md Linden Lab Official Guide]</b> | |||
*[https://gist.github.com/FelixWolf/364e8f598717537eabdd790d2369181a Chaser Zaks' guide] | |||
*<sup>[https://bitbucket.org/lindenlab/leap/src/main/puppetry/README.md Old LL Official Guide]</sup> | |||
= 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:''' [https://github.com/secondlife/leap/tree/main/puppetry/webcam LEAP Repo.] | |||
=== Requirements === | |||
* An OpenCV-compatible webcam. ''(Most are, but there are some exceptions)'' | |||
=== Caveats === | |||
* OBS Virtual Camera never initializes. (This is an [https://github.com/opencv/opencv/issues/19746 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 <code>Line 51</code> in <code>camera.py</code> from <code>self.device = cv2.VideoCapture(self.capture_id)</code> to <code>self.device = cv2.VideoCapture(self.capture_id, cv2.CAP_DSHOW)</code> ) | |||
* The default framerate of Webcam Puppetry is a maximum of '''10 fps'''. This can be changed by modifying <code>Line 104</code> in <code>webcam_puppetry.py</code> from <code>UPDATE_PERIOD = 0.1</code> to <code>UPDATE_PERIOD = 0.04</code>. 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:''' [https://github.com/FelixWolf/blender-sl-puppetry Github Repo.] | |||
=== Requirements === | |||
* [https://www.blender.org/ Blender] | |||
* [https://github.com/secondlife/python-llbase llBase] [https://pypi.org/project/llbase/ (Pypi)] | |||
=== Caveats === | |||
* None known. | |||
= Puppetry-enabled locations = | = Puppetry-enabled locations = | ||
Line 29: | Line 81: | ||
Currently, only a few regions on the [[Preview Grid|Beta grid (Aditi)]] have puppetry enabled: | Currently, only a few regions on the [[Preview Grid|Beta grid (Aditi)]] have puppetry enabled: | ||
*[secondlife://util.aditi.lindenlab.com/secondlife/Castelet/ | *[[File:Parcel_lght_G.png]] [secondlife://util.aditi.lindenlab.com/secondlife/Castelet/125/65/39 Castelet (Meeting Space)] - [[Puppetry User Group]] region | ||
*[secondlife://util.aditi.lindenlab.com/secondlife/Bunraku/128/128/27 Bunraku (Sandbox)] | *[[File:Parcel_lght_G.png]] [secondlife://util.aditi.lindenlab.com/secondlife/Bunraku/128/128/27 Bunraku (Sandbox)] | ||
*[secondlife://util.aditi.lindenlab.com/secondlife/Marionette/128/128/27 Marionette (Sandbox)] | *[[File:Parcel_lght_G.png]] [secondlife://util.aditi.lindenlab.com/secondlife/Marionette/128/128/27 Marionette (Sandbox)] |
Latest revision as of 15:34, 22 December 2022
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: