Keyframe-based motion editing system using numerical optimization [CHI 2018]
Switch branches/tags
Nothing to show
Clone or download


OptiMo is an "optimization-guided motion editing" system for authoring 3D character animations. OptiMo allows animators to effectively utilize the power of numerical optimization while keeping appropriate control.

Project Web Page


Not included

Included via gitsubmodule

Included directly

Compilation Instruction

CMake is used for managing source codes. OptiMo can be built by, for example,

git clone --recursive
cd optimo
mkdir build
cd build
cmake ../

Note that the necessary third-party libraries (i.e., Eigen and Qt) should be installed before building OptiMo. If you use macOS and brew, you can easily install them by

brew install eigen qt

In some environments, you might need to specify CMAKE_PREFIX_PATH adequately so that CMake can find Qt5.

Known Issues (Need Help!)

OptiMo is currently tested on macOS only. It is possible that OptiMo could not be built or run with other platforms such as Windows or Linux. Pull requests are welcome.


Yuki Koyama and Masataka Goto. 2018. OptiMo: Optimization-Guided Motion Editing for Keyframe Character Animation. In Proceedings of 2018 CHI Conference on Human Factors in Computing Systems (CHI '18), pp.161:1--161:12. DOI:


OptiMo is dual-licensed; You may use OptiMo under either LGPLv3 or our commercial license. See the LICENSE files for details.


Pull requests are highly welcome. Please be aware that any contribution to this repository will be licensed under the above license condition.


  • Yuki Koyama
  • Masataka Goto


Copyright (c) 2018 National Institute of Advanced Industrial Science and Technology (AIST) -