Class UManusSkeleton
This class is the bridge between the Manus Core animation data and the unreal animation it defines the nodes (bones) and chains (how bones are connected) of a skeleton and offers support functions to send them to Manus Core and retrieve them.
#include <ManusSkeleton.h>
Inherits the following classes: UObject
Public Attributes
| Type | Name |
|---|---|
| TMap< FName, FManusChainSetup > | ChainsIndexMap all the chains of the skeleton |
| FManusSkeletonTargetGloveData | GloveData the glove ID the skeleton is assigned to. |
| int | ManusSkeletonId = 0the skeleton ID as generated by Manus Core for this skeleton. |
| TMap< FName, FManusNodeSetup > | NodesSetupMap all the nodes of the skeleton (bones) |
| bool | ScaleToTarget = trueOption to scale the skeleton to the target, turn off to keep the original sizes. |
| class USkeletalMesh * | SkeletalMesh The unreal skeletal mesh to use with Manus skeleton. |
| EManusSkeletonType | SkeletonType = EManusSkeletonType::Invalidthe skeleton type. this needs to be setup or else it cannot be loaded into Manus Core |
| FManusSkeletonTargetAnimationData | TargetAnimationData the animation name the skeleton is assigned to. |
| FString | TargetName = L""skeleton name |
| EManusSkeletonTargetType | TargetType = EManusSkeletonTargetType::UserIndexDatadefines how this skeleton is targeted to data in Manus Core. |
| FManusSkeletonTargetUserData | TargetUserData the user ID that the skeleton is assigned to. only 1 of the four targets is used. |
| FManusSkeletonTargetUserIndexData | TargetUserIndexData the user index that the skeleton is assigned to. |
| bool | UseEndPointApproximations = truethe skeleton pinch correction. |
Public Functions
| Type | Name |
|---|---|
| bool | AllocateChains (uint32_t p_SkeletonSetupIndex) sends all the nodes to Core to auto allocate chains for them and receive the chains back |
| void | ClearAllTemporarySkeletonIndexes () clear all previously setup skeletons. |
| bool | ClearSetupSkeleton (uint32_t p_SkeletonSetupIndex) clear a specific skeleton |
| const TArray< FMeshBoneInfo > & | GetRawRefBoneInfo () gets the boneinfo of the SkeletalMesh->referenceskeleton (not the same as SkeletalMesh->skeleton->referenceskeleton) |
| const TArray< FTransform > & | GetRefBonePose () gets the transform of the SkeletalMesh->referenceskeleton (not the same as SkeletalMesh->skeleton->referenceskeleton) |
| class USkeleton * | GetSkeleton () returns the USkeleton that is associated with this manus skeleton. |
| uint32_t | GetTemporarySkeletonIndex () get current temporary skeleton index |
| void | LoadChains (uint32_t p_SkeletonSetupIndex, bool p_Overridetrackers=false) load the chains into the skeleton ready for sending it to Manus Core. (but not yet sent) |
| bool | LoadExistingNodes (uint32_t p_SkeletonSetupIndex) load existing nodes into SDK |
| bool | LoadNewNodes () load the unreal skeleton bones and generate new nodes |
| bool | LoadNewNodes (uint32_t p_SkeletonSetupIndex) load the unreal skeleton bones and generate new nodes and then immediately load them into SDK |
| bool | LoadSkeleton (uint32_t p_SkeletonSetupIndex, uint32_t & p_ID) load the skeleton with all its data into Manus Core. (now it is being sent) |
| bool | LoadSkeletonFromCore (uint32_t p_SkeletonSetupIndex) get the temporary skeleton from Manus Core and load the chains and nodes. |
| void | OnManusSkeletonChanged () event triggered when the data has changed |
| virtual void | PostLoad () override |
| void | RetrieveTemporarySkeleton () retrieve temporary skeleton from Manus Core. |
| void | SetTemporarySkeletonIndex (uint32_t p_Id) set the temporary skeleton index |
| EManusRet | SetupSkeleton (uint32_t & p_SkeletonSetupIndex) setup a skeleton for Manus Core (not yet sending it) |
| bool | ToSkeletonMeshSetup (uint32 p_SkeletonSetupIndex) Convert skeleton mesh information to skeleton setup TODO TODO this is currently not 100% ok TODO TODO. |
| bool | ToSkeletonSetup (SkeletonSetupInfo & p_SkeletonSetupInfo) Convert skeleton information to skeleton setup. |
| UManusSkeleton () |
Public Attributes Documentation
variable ChainsIndexMap
all the chains of the skeleton
variable GloveData
the glove ID the skeleton is assigned to.
variable ManusSkeletonId
the skeleton ID as generated by Manus Core for this skeleton.
variable NodesSetupMap
all the nodes of the skeleton (bones)
variable ScaleToTarget
Option to scale the skeleton to the target, turn off to keep the original sizes.
variable SkeletalMesh
The unreal skeletal mesh to use with Manus skeleton.
variable SkeletonType
the skeleton type. this needs to be setup or else it cannot be loaded into Manus Core
variable TargetAnimationData
the animation name the skeleton is assigned to.
variable TargetName
skeleton name
variable TargetType
defines how this skeleton is targeted to data in Manus Core.
variable TargetUserData
the user ID that the skeleton is assigned to. only 1 of the four targets is used.
variable TargetUserIndexData
the user index that the skeleton is assigned to.
variable UseEndPointApproximations
the skeleton pinch correction.
Public Functions Documentation
function AllocateChains
sends all the nodes to Core to auto allocate chains for them and receive the chains back
function ClearAllTemporarySkeletonIndexes
clear all previously setup skeletons.
function ClearSetupSkeleton
clear a specific skeleton
clear the previously setup skeleton. this may actually become obsolete. as skeletons are cleared on disconnect anyway and you can overwrite an existing skeleton for ease of use (even advisable to do so)
Parameters:
p_SkeletonSetupIndex
Returns:
true upon success.
function GetRawRefBoneInfo
gets the boneinfo of the SkeletalMesh->referenceskeleton (not the same as SkeletalMesh->skeleton->referenceskeleton)
Returns:
function GetRefBonePose
gets the transform of the SkeletalMesh->referenceskeleton (not the same as SkeletalMesh->skeleton->referenceskeleton)
Returns:
function GetSkeleton
returns the USkeleton that is associated with this manus skeleton.
function GetTemporarySkeletonIndex
get current temporary skeleton index
get current temporary skeleton id
function LoadChains
load the chains into the skeleton ready for sending it to Manus Core. (but not yet sent)
load the chains into the skeleton ready for sending it to manus core. (but not yet sent)
function LoadExistingNodes
load existing nodes into SDK
function LoadNewNodes [1/2]
load the unreal skeleton bones and generate new nodes
function LoadNewNodes [2/2]
load the unreal skeleton bones and generate new nodes and then immediately load them into SDK
function LoadSkeleton
load the skeleton with all its data into Manus Core. (now it is being sent)
load the skeleton with all its data into manus core. (now it is being sent)
function LoadSkeletonFromCore
get the temporary skeleton from Manus Core and load the chains and nodes.
function OnManusSkeletonChanged
event triggered when the data has changed
function PostLoad
function RetrieveTemporarySkeleton
retrieve temporary skeleton from Manus Core.
retrieve temporary skeleton from manus core.
function SetTemporarySkeletonIndex
set the temporary skeleton index
set the temporary skeleton id
function SetupSkeleton
setup a skeleton for Manus Core (not yet sending it)
setup a skeleton for manus core (not yet sending it)
function ToSkeletonMeshSetup
Convert skeleton mesh information to skeleton setup TODO TODO this is currently not 100% ok TODO TODO.
function ToSkeletonSetup
Convert skeleton information to skeleton setup.
Parameters:
p_SkeletonSetupInfo
Returns:
true when succesfully setup.
function UManusSkeleton
The documentation for this class was generated from the following file api/Unreal/Plugins/Manus/Source/Manus/Public/ManusSkeleton.h