reckfellENGINE

SkeletonProfile

Base class for a profile of a virtual skeleton used as a target for retargeting.

On this page
class SkeletonProfileReckfellSharpInherits Resource

Base class for a profile of a virtual skeleton used as a target for retargeting.

This resource is used in EditorScenePostImport. Some parameters are referring to bones in Skeleton3D, Skin, Animation, and some other nodes are rewritten based on the parameters of SkeletonProfile. Note: These parameters need to be set only when creating a custom profile. In SkeletonProfileHumanoid, they are defined internally as read-only values.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

SkeletonProfileConstructor
# SkeletonProfile
C#
public SkeletonProfile();

Properties4

BoneSizeProperty
# BoneSize
C#
public int BoneSize { get; set; }

The amount of bones in retargeting section's BoneMap editor. For example, SkeletonProfileHumanoid has 56 bones. The size of elements in BoneMap updates when changing this property in its assigned SkeletonProfile.

GroupSizeProperty
# GroupSize
C#
public int GroupSize { get; set; }

The amount of groups of bones in retargeting section's BoneMap editor. For example, SkeletonProfileHumanoid has 4 groups. This property exists to separate the bone list into several sections in the editor.

RootBoneProperty
# RootBone
C#
public StringName RootBone { get; set; }

A bone name that will be used as the root bone in AnimationTree. This should be the bone of the parent of hips that exists at the world origin.

ScaleBaseBoneProperty
# ScaleBaseBone
C#
public StringName ScaleBaseBone { get; set; }

A bone name which will use model's height as the coefficient for normalization. For example, SkeletonProfileHumanoid defines it as Hips.

Methods29

FindBoneint
# FindBone
C#
public int FindBone(StringName boneName);

Returns the bone index that matches bone_name as its name.

Parameters
NameTypeDefault
boneNameStringName—
Returns int
GetBoneNameStringName
# GetBoneName
C#
public StringName GetBoneName(int boneIdx);

Returns the name of the bone at bone_idx that will be the key name in the BoneMap. In the retargeting process, the returned bone name is the bone name of the target skeleton.

Parameters
NameTypeDefault
boneIdxint—
Returns StringName
GetBoneParentStringName
# GetBoneParent
C#
public StringName GetBoneParent(int boneIdx);

Returns the name of the bone which is the parent to the bone at bone_idx. The result is empty if the bone has no parent.

Parameters
NameTypeDefault
boneIdxint—
Returns StringName
GetBoneSizeint
# GetBoneSize
C#
public int GetBoneSize();
Returns int
GetBoneTailStringName
# GetBoneTail
C#
public StringName GetBoneTail(int boneIdx);

Returns the name of the bone which is the tail of the bone at bone_idx.

Parameters
NameTypeDefault
boneIdxint—
Returns StringName
GetGroupStringName
# GetGroup
C#
public StringName GetGroup(int boneIdx);

Returns the group of the bone at bone_idx.

Parameters
NameTypeDefault
boneIdxint—
Returns StringName
GetGroupNameStringName
# GetGroupName
C#
public StringName GetGroupName(int groupIdx);

Returns the name of the group at group_idx that will be the drawing group in the BoneMap editor.

Parameters
NameTypeDefault
groupIdxint—
Returns StringName
GetGroupSizeint
# GetGroupSize
C#
public int GetGroupSize();
Returns int
GetHandleOffsetVector2
# GetHandleOffset
C#
public Vector2 GetHandleOffset(int boneIdx);

Returns the offset of the bone at bone_idx that will be the button position in the BoneMap editor. This is the offset with origin at the top left corner of the square.

Parameters
NameTypeDefault
boneIdxint—
Returns Vector2
GetReferencePoseTransform3D
# GetReferencePose
C#
public Transform3D GetReferencePose(int boneIdx);

Returns the reference pose transform for bone bone_idx.

Parameters
NameTypeDefault
boneIdxint—
Returns Transform3D
GetRootBoneStringName
# GetRootBone
C#
public StringName GetRootBone();
Returns StringName
GetScaleBaseBoneStringName
# GetScaleBaseBone
C#
public StringName GetScaleBaseBone();
Returns StringName
GetTailDirectionSkeletonProfile.TailDirection
# GetTailDirection
C#
public SkeletonProfile.TailDirection GetTailDirection(int boneIdx);

Returns the tail direction of the bone at bone_idx.

Parameters
NameTypeDefault
boneIdxint—
Returns SkeletonProfile.TailDirection
GetTextureTexture2D
# GetTexture
C#
public Texture2D GetTexture(int groupIdx);

Returns the texture of the group at group_idx that will be the drawing group background image in the BoneMap editor.

Parameters
NameTypeDefault
groupIdxint—
Returns Texture2D
IsRequiredbool
# IsRequired
C#
public bool IsRequired(int boneIdx);

Returns whether the bone at bone_idx is required for retargeting. This value is used by the bone map editor. If this method returns true, and no bone is assigned, the handle color will be red on the bone map editor.

Parameters
NameTypeDefault
boneIdxint—
Returns bool
SetBoneNamevoid
# SetBoneName
C#
public void SetBoneName(int boneIdx, StringName boneName);

Sets the name of the bone at bone_idx that will be the key name in the BoneMap. In the retargeting process, the setting bone name is the bone name of the target skeleton.

Parameters
NameTypeDefault
boneIdxint—
boneNameStringName—
SetBoneParentvoid
# SetBoneParent
C#
public void SetBoneParent(int boneIdx, StringName boneParent);

Sets the bone with name bone_parent as the parent of the bone at bone_idx. If an empty string is passed, then the bone has no parent.

Parameters
NameTypeDefault
boneIdxint—
boneParentStringName—
SetBoneSizevoid
# SetBoneSize
C#
public void SetBoneSize(int size);
Parameters
NameTypeDefault
sizeint—
SetBoneTailvoid
# SetBoneTail
C#
public void SetBoneTail(int boneIdx, StringName boneTail);

Sets the bone with name bone_tail as the tail of the bone at bone_idx.

Parameters
NameTypeDefault
boneIdxint—
boneTailStringName—
SetGroupvoid
# SetGroup
C#
public void SetGroup(int boneIdx, StringName group);

Sets the group of the bone at bone_idx.

Parameters
NameTypeDefault
boneIdxint—
groupStringName—
SetGroupNamevoid
# SetGroupName
C#
public void SetGroupName(int groupIdx, StringName groupName);

Sets the name of the group at group_idx that will be the drawing group in the BoneMap editor.

Parameters
NameTypeDefault
groupIdxint—
groupNameStringName—
SetGroupSizevoid
# SetGroupSize
C#
public void SetGroupSize(int size);
Parameters
NameTypeDefault
sizeint—
SetHandleOffsetvoid
# SetHandleOffset
C#
public void SetHandleOffset(int boneIdx, Vector2 handleOffset);

Sets the offset of the bone at bone_idx that will be the button position in the BoneMap editor. This is the offset with origin at the top left corner of the square.

Parameters
NameTypeDefault
boneIdxint—
handleOffsetVector2—
SetReferencePosevoid
# SetReferencePose
C#
public void SetReferencePose(int boneIdx, Transform3D boneName);

Sets the reference pose transform for bone bone_idx.

Parameters
NameTypeDefault
boneIdxint—
boneNameTransform3D—
SetRequiredvoid
# SetRequired
C#
public void SetRequired(int boneIdx, bool required);

Sets the required status for bone bone_idx to required.

Parameters
NameTypeDefault
boneIdxint—
requiredbool—
SetRootBonevoid
# SetRootBone
C#
public void SetRootBone(StringName boneName);
Parameters
NameTypeDefault
boneNameStringName—
SetScaleBaseBonevoid
# SetScaleBaseBone
C#
public void SetScaleBaseBone(StringName boneName);
Parameters
NameTypeDefault
boneNameStringName—
SetTailDirectionvoid
# SetTailDirection
C#
public void SetTailDirection(int boneIdx, SkeletonProfile.TailDirection tailDirection);

Sets the tail direction of the bone at bone_idx. Note: This only specifies the method of calculation. The actual coordinates required should be stored in an external skeleton, so the calculation itself needs to be done externally.

Parameters
NameTypeDefault
boneIdxint—
tailDirectionSkeletonProfile.TailDirection—
SetTexturevoid
# SetTexture
C#
public void SetTexture(int groupIdx, Texture2D texture);

Sets the texture of the group at group_idx that will be the drawing group background image in the BoneMap editor.

Parameters
NameTypeDefault
groupIdxint—
textureTexture2D—

Signals and events1

ProfileUpdatedEvent
# ProfileUpdated
C#
public event Action ProfileUpdated;

This signal is emitted when change the value in profile. This is used to update key name in the BoneMap and to redraw the BoneMap editor. Note: This signal is not connected directly to editor to simplify the reference, instead it is passed on to editor through the BoneMap.

SkeletonProfile.TailDirection

ValueDescription
AverageChildren = 0

Direction to the average coordinates of bone children.

End = 2

Direction is not calculated.

SpecificChild = 1

Direction to the coordinates of specified bone child.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.