-
Notifications
You must be signed in to change notification settings - Fork 8
MoveFingersMMU
The MoveFingersMMU is a basic MMU that allows the manipulation of finger joints. In particular, the MMU allows to blend between different hand postures specified using MPostureConstraints.
Property | Values |
---|---|
Name | MoveFingersMMU |
ID | daimler.com:MoveFingersMMU/1.0 |
VendorDomain | daimler.com |
Vendor | Daimler Buses |
Author | Felix Gaisbauer |
Short description | MMU allows to manipulate the finger joints by means of motion blending. |
Long description | MMU allows to manipulate the finger joints by means of motion blending. |
Programming Language | C# |
Development Tools | Visual Studio 2017 |
Service dependencies | - |
MMU dependencies (Motion types) | - |
File dependencies | MoveFingersMMU.dll |
Application dependencies | requires .Net 4.5 or newer |
Additional Libraries | - |
MotionType | Pose/MoveFingers |
Events | FingersPositioned |
Basic MMU | yes |
License | MIT |
In the following an overview of the functionalities and parameters of the MoveFingersMMUare provided.
Name | Type | Required | Description |
---|---|---|---|
Hand | {Left,Right} | yes | The hand type. |
Release | bool | no | Specifies whether the hand posture should be released. |
HandPose | MPostureConstraint(ID) | no | The desired hand pose. |
Duration | float | no | The desired duration until the pose is established. |
AngularVelocity | float | no | The max angular velocity of the finger motions. |
An important parameter that must be specified for using the MMU is the Hand and the corresponding HandPose that should be reached. The MMU supports two modes, whereas by default the given handpose is tried to be achieved, the MMU furthermore supports a Release motion. If the Release parameter is set, an HandPose is not required. In this mode, the MMU establishes the original hand posture given by the previous MMU in hierarchy.
The MoveFingersMMU does not require explicit scene parameters.
//Indicates whether a release motion should be performed
public bool Release = false;
//The desired Hand pose (rotations of the finger Joints)
public UnityHandPose LeftHandPose;
//Create the instruction to move the fingers
MInstruction moveFingersInstructions = new MInstruction(System.Guid.NewGuid().ToString(), "Move fingers", "Pose/MoveFingers")
{
Properties = new Dictionary<string, string>()
{
{"Release", this.Release.ToString() },
{"Hand", "Left" }
},
Constraints = new List<MConstraint>()
};
string constraintID = System.Guid.NewGuid().ToString();
moveFingersInstructions.Properties.Add("HandPose", constraintID);
moveFingersInstructions.Constraints.Add(new MConstraint()
{
ID = constraintID,
PostureConstraint = this.LeftHandPose.GetPostureConstraint()
});
The MoveFingersMMU utilizes joint interpolation to transfer the finger orientations from the currently present posture to the desired one.
Provided as basic MMU with MIT license.
- 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