87 lines
2.7 KiB
Ucode
87 lines
2.7 KiB
Ucode
|
Class VSFPZedHands extends Actor
|
||
|
transient;
|
||
|
|
||
|
var SkeletalMeshComponent Mesh;
|
||
|
var AnimNodeSlot HandsAnimNode,BodyNode;
|
||
|
var name IdleAnimName;
|
||
|
|
||
|
simulated function InitHands( SkeletalMeshComponent C )
|
||
|
{
|
||
|
Mesh.SetSkeletalMesh(C.SkeletalMesh);
|
||
|
Mesh.AnimSets = C.AnimSets;
|
||
|
HandsAnimNode = AnimNodeSlot(Mesh.FindAnimNode('ArmsSlot'));
|
||
|
BodyNode = AnimNodeSlot(Mesh.FindAnimNode('BodySlot'));
|
||
|
}
|
||
|
simulated final function SetIdleAnim( name N )
|
||
|
{
|
||
|
IdleAnimName = N;
|
||
|
Timer();
|
||
|
}
|
||
|
simulated function Timer()
|
||
|
{
|
||
|
HandsAnimNode.PlayCustomAnim(IdleAnimName,1.f,0.15,,true);
|
||
|
}
|
||
|
simulated final function PlayHandsAnim( name N, optional float Rate=1.f )
|
||
|
{
|
||
|
SetTimer(HandsAnimNode.PlayCustomAnim(N,Rate,0.05,,,true),false);
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
Begin Object Class=AnimTree Name=FPZEDAnimTree
|
||
|
Begin Object Class=SkelControlSingleBone Name=ArmStretcher
|
||
|
bApplyTranslation=True
|
||
|
bAddTranslation=True
|
||
|
BoneTranslation=(X=50.000000,Y=0.000000,Z=0.000000)
|
||
|
BoneTranslationSpace=BCS_ActorSpace
|
||
|
End Object
|
||
|
Begin Object Class=AnimNodeSlot Name=ArmSlotter
|
||
|
TickArrayIndex=2
|
||
|
NodeName="ArmsSlot"
|
||
|
End Object
|
||
|
Begin Object Class=AnimNodeBlendPerBone Name=AnimBoneBlender
|
||
|
BranchStartBoneName(0)="RightArm"
|
||
|
BranchStartBoneName(1)="LeftArm"
|
||
|
Child2Weight=1.000000
|
||
|
Child2WeightTarget=1.000000
|
||
|
Children(1)=(Anim=AnimNodeSlot'ArmSlotter')
|
||
|
TickArrayIndex=1
|
||
|
NodeTotalWeight=1.000000
|
||
|
End Object
|
||
|
SkelControlLists(0)=(BoneName="RightArm",ControlHead=SkelControlSingleBone'ArmStretcher')
|
||
|
SkelControlLists(1)=(BoneName="LeftArm",ControlHead=SkelControlSingleBone'ArmStretcher')
|
||
|
AnimTickArray(0)=AnimTree'FPZEDAnimTree'
|
||
|
AnimTickArray(1)=AnimNodeBlendPerBone'AnimBoneBlender'
|
||
|
AnimTickArray(2)=AnimNodeSlot'ArmSlotter'
|
||
|
Children(0)=(Anim=AnimNodeBlendPerBone'AnimBoneBlender')
|
||
|
End Object
|
||
|
|
||
|
Begin Object Class=SkeletalMeshComponent Name=FPHandSkeletalMesh
|
||
|
MinDistFactorForKinematicUpdate=0.200000
|
||
|
bSkipAllUpdateWhenPhysicsAsleep=True
|
||
|
bIgnoreControllersWhenNotRendered=True
|
||
|
bHasPhysicsAssetInstance=True
|
||
|
bUpdateKinematicBonesFromAnimation=False
|
||
|
bPerBoneMotionBlur=True
|
||
|
bOverrideAttachmentOwnerVisibility=True
|
||
|
bChartDistanceFactor=True
|
||
|
RBChannel=RBCC_Pawn
|
||
|
RBDominanceGroup=20
|
||
|
bAcceptsDynamicDecals=True
|
||
|
bUseOnePassLightingOnTranslucency=True
|
||
|
CollideActors=false
|
||
|
BlockZeroExtent=false
|
||
|
BlockRigidBody=false
|
||
|
Translation=(X=0.000000,Y=0.000000,Z=-86.000000)
|
||
|
ScriptRigidBodyCollisionThreshold=200.000000
|
||
|
PerObjectShadowCullDistance=4000.000000
|
||
|
bAllowPerObjectShadows=True
|
||
|
bAllowPerObjectShadowBatching=True
|
||
|
AnimTreeTemplate=AnimTree'FPZEDAnimTree'
|
||
|
CastShadow=false
|
||
|
bCastDynamicShadow=false
|
||
|
bCastStaticShadow=false
|
||
|
End Object
|
||
|
Mesh=FPHandSkeletalMesh
|
||
|
Components.Add(FPHandSkeletalMesh)
|
||
|
}
|