Archive of Mechanical Engineering (Aug 2022)
Simulating human motion using Motion Model Units - example implementation and usage
Abstract
Human motion is required in many simulation models. However, generating such a motion is quite complex and in industrial simulation cases represents an overhead that often cannot be accepted. There are several common file formats that are used nowadays for saving motion data that can be used in gaming engines or 3D editing software. Using such motion sets still requires considerable effort in creating logic for motion playing, blending, and associated object manipulation in the scene. Additionally, every action needs to be described with the motion designed for the target scene environment. This is where the Motion Model Units (MMU) concept was created. Motion Model Units represent a new way of transferring human motion data together with logic and scene manipulation capabilities between motion vendors and simulation platforms. The MMU is a compact software bundle packed in a standardized way, provides machine-readable capabilities and interface description that makes it interchangeable, and is adaptable to the scene. Moreover, it is designed to represent common actions in a task-oriented way, which allows simplifying the scenario creation to a definition of tasks and their timing. The underlying Motion Model Interface (MMI) has become an open standard and is currently usable in MOSIM framework, which provides the implementation of the standard for the Unity gaming engine and works on implementation for the Unreal Engine are under way. This paper presents two implementation examples for the MMU using direct C# programming, and using C# for Unity and MOSIM MMU generator as a helping tool. The key points required to build a working MMU are presented accompanied by an open-source code that is available for download and experimenting.
Keywords