Copyright (c) 2013-2018 Martin Felis [email protected] Copyright (c) 2018 Felix Richter [email protected]
Tip of the day: try the new scripting feature by running
./puppeteer subject3m.lua -s scripts/motionsickness.lua
Puppeteer comes with an example model and motion capture data. To load them pass both model and motion capture data as arguments to the Puppeteer executable, e.g.:
./puppeteer model.lua data/testdata.c3d
Puppeteer requires RBDL, the Rigid Body Dynamics Library that you can obtain from https://github.com/ORB-HD/rbdl-orb (open-source, zlib).
Additionally Puppeteer uses the following libraries and includes them in the vendor/
folder:
- c3dfile (c3d file parsing, MIT license)
- LuaTables++ (LuaModel reading/writing, MIT License)
- TCLAP (command line parsing, MIT license)
- QtPropertyBrowser (Property widget, BSD license)
-
Install RBDL, Lua, and the luamodel addon. See the readme file of rbdl-orb for detailed installation instructions.
-
Install the graphics libraries that puppeteer depends on
sudo apt install ffmpeg libavutil-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libvtk6-qt-dev
-
Do a recursive clone of the puppeteer repository to also initialise all sub-repositories:
git clone --recursive https://github.com/ORB-HD/puppeteer
if not do you will have to initialise them yourself:
git submodule init git submodule update
-
Make separate build and installation directories (optional)
mkdir puppeteer-build mkdir puppeteer-install
-
Run ccmake on puppeteer
cd puppeteer-build ccmake ../puppeteer
-
Press 'c' to configure the CMakeCache.txt file.
- If RBDL has been installed to a specific directory then you will have to set the CUSTOM_RBDL_PATH to RBDL's install folder.
- If all of the graphics libraries have been found and you want to install puppeteer to a specific location the puppeteer's cmake build settings will look like this (where the '...' will be a series of folders specific to your installation)
CMAKE_BUILD_TYPE Release CMAKE_INSTALL_PREFIX /home/ ... /puppeteer-install CUSTOM_RBDL_PATH /home/ ... /rbdl-orb-release-install Qt5Core_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Core Qt5Gui_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui Qt5Network_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Network Qt5OpenGL_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5OpenGL Qt5WebKit_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5WebKit Qt5Widgets_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets QtPropertyBrowser_BUILD_EXAMPL OFF RUN_AUTOMATIC_TESTS OFF VTK_DIR /usr/lib/cmake/vtk-6.3
-
Build and install puppeteer using
make install
-
Modify your .bashrc file to include puppeteer's binary on the path (where the '...' will be a series of folders specific to your installation):
export PUPPETEER=/home/.../puppeteer-install/bin export PATH=$PATH:$PUPPETEER
-
Open a new terminal in the puppeteer source directory and test the installtion by calling
puppeteer model.lua data/testdata.c3d
A GUI should be launched that has a blocky humanoid model.
At the moment we are unable to provide detailed installation instructions.
* 2015-10-13: ensure that model markers are always sorted alphabetically in the GUI
Puppeteer is published under the MIT license, which allows you to do pretty much everything (including making changes and selling binaries). However bug fixes, improvements, or other changes are most welcome!
Here is the full license text:
Puppeteer - A Motion Capture Mapping Tool
Copyright (c) 2013-2016 Martin Felis <[email protected]>.
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE