-
Notifications
You must be signed in to change notification settings - Fork 8
home
This repository contains the Motion Model Interface (MMI) core framework, developed in the context of the MOSIM research project (http://mosim.eu). The MOSIM Framework is an open modular framework for efficient and interactive simulation and analysis of realistic human motions for professional applications. It is a distributed system, using modular motion units (MMUs) in different programming languages and using different tools to simulate poses, which are merged in a separate co-simulator and displayed in a separate target engine. Additional services can be implemented and used, to perform frequent utility tasks. A high-level task-editor and behavior execution system allow complex agent behavior which can be configured by domain-specific experts without requiring a deep understanding of motion synthesis.
Besides the infrastructure of the core framework, the repository comprises an implementation of the so-called co-simulation as well as basic MMUs.
The MOSIM Framework is provided in four other repositories: The MOSIM Services contains the implementation of various services, assisting in MMU and Co-Simulator development. The MOSIM Tools contains helpful tools, e.g. for MMUGenerator for animation based Unity MMUs. The MOSIM Demos repository contains integrations to Unity 3D containing simple demonstration scenes. The MOSIM (meta) repository is a meta repository, grouping all of the repositories together, providing a deploy functionality and central cloning opportunity.
This wiki contains documentation of the framework and several tutorials for its usage. If you are new to the framework, we recommend the following introductory articles:
- What is the MOSIM Framework?
- Components of the Framework
- Repository Structure
- RPCs with Apache Thrift
To work with the MOSIM Framework, you require at least two components:
- the Framework containing the launcher, mmus, services and adapters
- a target-engine project to visualize results and control the framework
Additional components, such as the high-level task-editor and the behavior execution model are optional components, improving the agent simulation and allowing for more complex behavior.
We release a stable version of the framework, which can be "installed" and used on Windows 10 systems. For more information, please read the documentation on installing the released framework.
We provided an exemplary target-engine project in Unity in a separate demos repository and recommend starting with this project if you are new to the framework. For more information, please consider the documentation on Framework Integration.
If you want to receive the latest version of the framework, you can clone and deploy the MOSIM Meta repository. For more information on the deployment procedure, please consider the documentation on manual compilation.
If you are a MMU developer and want to create new motion models, we do recommend to first reading the prerequisites for MMU development. In addition, we provided several articles on MMU development:
- Prerequisites for MMU Development
- From MoCap to MMU
- Introduction to Unity Animators
- MMU Generator
- MMUs in Unity
- MMUs in Python
- MMUs in C#
We welcome any contributions. If you want to contribute to this project, please read the contributing guide.
Please read our Code of Conduct as it is our base for interaction.
This project is licensed under the MIT LICENSE.
Please visit https://www.daimler-tss.com/en/imprint/ for information on the provider.
Notice: Before you use the program in productive use, please take all necessary precautions, e.g. testing and verifying the program with regard to your specific use. The program was tested solely for our own use cases, which might differ from yours.
- What is the MOSIM Framework?
- Components of the Framework
- Repository Structure
- RPCs with Apache Thrift
- Setting up the MMI-Environment
- MMU Development
- Target Engine Integration
- Integration in Unity
- Integration in UE4
- Integration in 3rd Party Engines
- Service Development
-
Intermediate Skeleton & Retargeting
- Concept of the Intermediate Skeleton
- Retargeting Service and Configurator
- Retargeting in Unity
- Retargeting in UE4
- Constraints