Momentum provides foundational algorithms for human kinematic motion and numerical optimization solvers to apply human motion in various applications.
This page guides you through the process of building Momentum and running the examples.
Momentum binary builds are available for Windows, macOS, and Linux via Pixi or the Conda package manager.
For Windows, please install Visual Studio 2022 or greater.
# Momentum (C++)
pixi add momentum-cpp
# PyMomentum (Python)
pixi add pymomentum
# Both
pixi add momentum
conda install -c conda-forge momentum-cpp
conda install -c conda-forge pymomentum # Windows is not supported yet
conda install -c conda-forge momentum
Complete the following steps only once:
-
Install Pixi by following the instructions on https://prefix.dev/
-
Clone the repository and navigate to the root directory:
git clone https://github.com/facebookincubator/momentum cd momentum
Ensure that all subsequent commands are executed in the project's root directory unless specified otherwise.
-
Build the project with the following command (note that the first run may take a few minutes as it installs all dependencies):
pixi run build
-
Run the tests with:
pixi run test
To view all available command lines, run pixi task list
.
To run the hello_world
example:
pixi run hello_world
Alternatively, you can directly run the executable:
# Linux and macOS
./build/hello_world
# Windows
./build/Release/hello_world.exe
To run other examples:
pixi run glb_viewer --help
For more examples, please refer to the Examples page.
If you need to start over for any reason:
pixi run clean
Momentum uses the build/
directory for CMake builds, and .pixi/
for the Pixi virtual environment. You can clean up everything by either manually removing these directories or by running the command above.
Momentum uses OpenFBX to load Autodesk's FBX file format, which is enabled by default. To save files in FBX format, you must install the FBX SDK 2020.3.
The FBX SDK will be automatically installed when you run pixi run config
, so no additional steps are required.
You can download it from Autodesk's website or use direct links (macOS, Windows). After installing the SDK, build Momentum from source with MOMENTUM_BUILD_IO_FBX=ON
option as:
# macOS
MOMENTUM_BUILD_IO_FBX=ON pixi run <target>
# Windows (Powershell)
$env:MOMENTUM_BUILD_IO_FBX = "ON"; pixi run <target>
# Windows (cmd)
set MOMENTUM_BUILD_IO_FBX=ON && pixi run <target>
For example, file conversion can be run as follows:
# Windows (Powershell)
$env:MOMENTUM_BUILD_IO_FBX = "ON"; pixi run convert_model -d <input.glb> -o <out.fbx>
The full documentation for Momentum can be found on our website and the C++ API documentation is available here.
Check our contributing guide to learn about how to contribute to the project.
Momentum is licensed under the MIT License. A copy of the license can be found here.