본문 바로가기
프로그래밍/Unreal Engine 3

AnimNodeBlendBase

by neive 2011. 12. 21.
728x90


class AnimNodeBlendBase extends AnimNode

 // UAnimNode interface
 virtual void InitAnim( USkeletalMeshComponent* meshComp, UAnimNodeBlendBase* Parent );

 /** AnimSets have been updated, update all animations */
 virtual void AnimSetsUpdated();

 virtual void TickAnim( FLOAT DeltaSeconds, FLOAT TotalWeight );

 virtual void GetNodes(TArray<UAnimNode*>& Nodes);

 virtual void GetNodesByClass(TArray<class UAnimNode*>& Nodes, class UClass* BaseClass);
 
 /** Return an array with all UAnimNodeSequence childs, including this node. */
 virtual void GetAnimSeqNodes(TArray<UAnimNodeSequence*>& Nodes, FName InSynchGroupName=NAME_None);

 virtual void GetBoneAtoms( TArray<FBoneAtom>& Atoms, const TArray<BYTE>& DesiredBones, FVector& RootDelta );
 
 /**
  * Get mirrored bone atoms from desired child index.
  * Bones are mirrored using the SkelMirrorTable.
  */
 void GetMirroredBoneAtoms(TArray<FBoneAtom>& Atoms, INT ChildIndex, const TArray<BYTE>& DesiredBones, FVector& RootDelta);

 virtual void DrawDebug(FRenderInterface* RI, FLOAT ParentPosX, FLOAT ParentPosY, FLOAT PosX, FLOAT PosY);
 virtual FLOAT CalcDebugHeight();
 
 /**
  * Draws this node in the AnimTreeEditor.
  *
  * @param RI    The rendering interface to use.
  * @param bSelected  TRUE if this node is selected.
  * @param bShowWeight  If TRUE, show the global percentage weight of this node, if applicable.
  * @param bCurves   If TRUE, render links as splines; if FALSE, render links as straight lines.
  */
 virtual void DrawAnimNode(FRenderInterface* RI, UBOOL bSelected, UBOOL bShowWeight, UBOOL bCurves);

 virtual FIntPoint GetConnectionLocation(INT ConnType, INT ConnIndex);

 // UAnimNodeBlendBase interface
 /** Calculates total weight of children */
 virtual void SetChildrenTotalWeightAccumulator(const INT Index, const FLOAT NodeTotalWeight);


 /** For debugging. Return the sum of the weights of all children nodes. Should always be 1.0. */
 FLOAT GetChildWeightTotal();

 /** Notification to this blend that a child UAnimNodeSequence has reached the end and stopped playing. Not called if child has bLooping set to true or if user calls StopAnim. */
 virtual void OnChildAnimEnd(UAnimNodeSequence* Child);

 /** A child connector has been added */
 virtual void OnAddChild(INT ChildNum);
 /** A child connector has been removed */
 virtual void OnRemoveChild(INT ChildNum);

 /** Rename all child nodes upon Add/Remove, so they match their position in the array. */
 virtual void RenameChildConnectors();

728x90

'프로그래밍 > Unreal Engine 3' 카테고리의 다른 글

UDK > 내 게임 만들기 (2)  (0) 2012.01.02
UDK > 내 게임 만들기  (0) 2011.12.23
AnimTree > AnimNodeBlend  (0) 2011.12.15
FootPlacement  (0) 2011.12.14
언리얼 스크립트 > state  (0) 2011.12.08

댓글