30 lines
1.1 KiB
Ucode
30 lines
1.1 KiB
Ucode
|
/**
|
||
|
* skeletal controller that provides a cleaner and more efficient way to handle scaling for many bones in a mesh
|
||
|
*
|
||
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||
|
*/
|
||
|
|
||
|
class UDKSkelControl_MassBoneScaling extends SkelControlBase
|
||
|
native(Animation);
|
||
|
|
||
|
/** bone scales - indices match mesh's bone indices */
|
||
|
var() array<float> BoneScales;
|
||
|
|
||
|
cpptext
|
||
|
{
|
||
|
virtual void GetAffectedBones(INT BoneIndex, USkeletalMeshComponent* SkelComp, TArray<INT>& OutBoneIndices);
|
||
|
virtual void CalculateNewBoneTransforms(INT BoneIndex, USkeletalMeshComponent* SkelComp, TArray<FBoneAtom>& OutBoneTransforms);
|
||
|
virtual FLOAT GetBoneScale(INT BoneIndex, USkeletalMeshComponent* SkelComp);
|
||
|
}
|
||
|
|
||
|
/** sets the given bone to the given scale
|
||
|
* @note this controller must be hooked up to the specified bone in the AnimTree for this to have any effect
|
||
|
*/
|
||
|
native final function SetBoneScale(name BoneName, float Scale);
|
||
|
|
||
|
/** returns the scale this control has for the given bone
|
||
|
* @note does not take into account any other controls that are affecting the bone's scale
|
||
|
*/
|
||
|
native final function float GetBoneScale(name BoneName);
|
||
|
|