void FAnimNode_UseCachedPose::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine, true); LinkToCachingNode.GatherDebugData(DebugData); }
void FAnimNode_WheelHandler::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += ")"; DebugData.AddDebugItem(DebugLine); for(const auto & WheelSim : WheelSimulators) { if (WheelSim.BoneReference.BoneIndex != INDEX_NONE) { DebugLine = FString::Printf(TEXT(" [Wheel Index : %d] Bone: %s , Rotation Offset : %s, Location Offset : %s"), WheelSim.WheelIndex, *WheelSim.BoneReference.BoneName.ToString(), *WheelSim.RotOffset.ToString(), *WheelSim.LocOffset.ToString()); } else { DebugLine = FString::Printf(TEXT(" [Wheel Index : %d] Bone: %s (invalid bone)"), WheelSim.WheelIndex, *WheelSim.BoneReference.BoneName.ToString()); } DebugData.AddDebugItem(DebugLine); } ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_WheelHandler::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += ")"; DebugData.AddDebugItem(DebugLine); const TArray<FWheelAnimData>& WheelAnimData = AnimInstanceProxy->GetWheelAnimData(); for (const FWheelLookupData& Wheel : Wheels) { if (Wheel.BoneReference.BoneIndex != INDEX_NONE) { DebugLine = FString::Printf(TEXT(" [Wheel Index : %d] Bone: %s , Rotation Offset : %s, Location Offset : %s"), Wheel.WheelIndex, *Wheel.BoneReference.BoneName.ToString(), *WheelAnimData[Wheel.WheelIndex].RotOffset.ToString(), *WheelAnimData[Wheel.WheelIndex].LocOffset.ToString()); } else { DebugLine = FString::Printf(TEXT(" [Wheel Index : %d] Bone: %s (invalid bone)"), Wheel.WheelIndex, *Wheel.BoneReference.BoneName.ToString()); } DebugData.AddDebugItem(DebugLine); } ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_SaveCachedPose::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine); Pose.GatherDebugData(DebugData); }
void FAnimNode_TransitionPoseEvaluator::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Cached Frames Remaining: %i)"), CacheFramesRemaining); DebugData.AddDebugItem(DebugLine); }
void FAnimNode_SequencePlayer::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("('%s' Play Time: %.3f)"), *Sequence->GetName(), InternalTimeAccumulator); DebugData.AddDebugItem(DebugLine, true); }
void FAnimNode_CopyBoneDelta::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_ApplyMeshSpaceAdditive::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Alpha: %.1f%%)"), ActualAlpha*100.f); DebugData.AddDebugItem(DebugLine); Base.GatherDebugData(DebugData.BranchFlow(1.f)); Additive.GatherDebugData(DebugData.BranchFlow(ActualAlpha)); }
void FAnimNode_RotationOffsetBlendSpace::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Play Time: %.3f)"), InternalTimeAccumulator); DebugData.AddDebugItem(DebugLine); BasePose.GatherDebugData(DebugData); }
void FAnimNode_RotateRootBone::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Pitch: %.2f Yaw: %.2f)"), Pitch, Yaw); DebugData.AddDebugItem(DebugLine); BasePose.GatherDebugData(DebugData); }
void FAnimNode_AnimDynamics::GatherDebugData(FNodeDebugData& DebugData) { const float ActualAlpha = AlphaScaleBias.ApplyTo(Alpha); FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Alpha: %.1f%%)"), ActualAlpha*100.f); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData.BranchFlow(1.f)); }
void FAnimNode_ModifyBone::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += FString::Printf(TEXT(" Target: %s)"), *BoneToModify.BoneName.ToString()); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_Trail::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += FString::Printf(TEXT(" Active: %s)"), *TrailBone.BoneName.ToString()); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_SpringBone::GatherDebugData(FNodeDebugData& DebugData) { const float ActualAlpha = AlphaScaleBias.ApplyTo(Alpha); //MDW_TODO Add more output info? FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Alpha: %.1f%% RemainingTime: %.3f)"), ActualAlpha*100.f, RemainingTime); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_RotationMultiplier::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += FString::Printf(TEXT(" Src: %s Dst: %s Multiplier: %.2f)"), *SourceBone.BoneName.ToString(), *TargetBone.BoneName.ToString(), Multiplier); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimationNode_TwoWayBlend::GatherDebugData(FNodeDebugData& DebugData) { const float ActualAlpha = AlphaScaleBias.ApplyTo(Alpha); FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Alpha: %.1f%%)"), ActualAlpha*100); DebugData.AddDebugItem(DebugLine); A.GatherDebugData(DebugData.BranchFlow(1.f - ActualAlpha)); B.GatherDebugData(DebugData.BranchFlow(ActualAlpha)); }
void FAnimNode_BlendSpacePlayer::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); if (BlendSpace) { DebugLine += FString::Printf(TEXT("('%s' Play Time: %.3f)"), *BlendSpace->GetName(), InternalTimeAccumulator); DebugData.AddDebugItem(DebugLine, true); //BlendSpace->GetBlendSamples(); } }
void FAnimNode_BlendListBase::GatherDebugData(FNodeDebugData& DebugData) { const int NumPoses = BlendPose.Num(); const int32 ChildIndex = GetActiveChildIndex(); FString DebugLine = GetNodeName(DebugData); DebugLine += FString::Printf(TEXT("(Active: (%i/%i) BlendWeight: %.1f%% BlendTime %.3f)"), ChildIndex+1, NumPoses, BlendWeights[ChildIndex]*100.f, BlendTime[ChildIndex]); DebugData.AddDebugItem(DebugLine); for(int32 Pose = 0; Pose < NumPoses; ++Pose) { BlendPose[Pose].GatherDebugData(DebugData.BranchFlow(BlendWeights[Pose])); } }
void FAnimNode_HandIKRetargeting::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); DebugLine += FString::Printf(TEXT(" HandFKWeight: %f)"), HandFKWeight); for (int32 BoneIndex = 0; BoneIndex < IKBonesToMove.Num(); BoneIndex++) { DebugLine += FString::Printf(TEXT(", %s)"), *IKBonesToMove[BoneIndex].BoneName.ToString()); } DebugLine += FString::Printf(TEXT(")")); DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_LookAt::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += "("; AddDebugNodeData(DebugLine); if (LookAtBone.BoneIndex != INDEX_NONE) { DebugLine += FString::Printf(TEXT(" Target: %s, Look At Bone: %s, Location : %s)"), *BoneToModify.BoneName.ToString(), *LookAtBone.BoneName.ToString(), *CurrentLookAtLocation.ToString()); } else { DebugLine += FString::Printf(TEXT(" Target: %s, Look At Location : %s, Location : %s)"), *BoneToModify.BoneName.ToString(), *LookAtLocation.ToString(), *CurrentLookAtLocation.ToString()); } DebugData.AddDebugItem(DebugLine); ComponentPose.GatherDebugData(DebugData); }
void FAnimNode_AbilityAnimPlayer::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine, true); }
void FAnimNode_ConvertLocalToComponentSpace::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine); LocalPose.GatherDebugData(DebugData); }
void FAnimNode_Root::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugData.AddDebugItem(DebugLine); Result.GatherDebugData(DebugData); }
void FAnimNode_RefPose::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(Ref Pose Type: %s)"), GetRefPostTypeText(RefPoseType)); DebugData.AddDebugItem(DebugLine, true); }
void FAnimNode_StateMachine::GatherDebugData(FNodeDebugData& DebugData) { FString DebugLine = DebugData.GetNodeName(this); DebugLine += FString::Printf(TEXT("(%s->%s)"), *GetMachineDescription()->MachineName.ToString(), *GetStateInfo().StateName.ToString()); TMap<int32, float> StateWeightMap; if (ActiveTransitionArray.Num() > 0) { for (int32 Index = 0; Index < ActiveTransitionArray.Num(); ++Index) { // if there is any source pose, blend it here FAnimationActiveTransitionEntry& ActiveTransition = ActiveTransitionArray[Index]; if (ActiveTransition.bActive) { switch (ActiveTransition.LogicType) { case ETransitionLogicType::TLT_StandardBlend: { AddStateWeight(StateWeightMap, ActiveTransition.PreviousState, (1.0f - ActiveTransition.Alpha)); AddStateWeight(StateWeightMap, ActiveTransition.NextState, (ActiveTransition.Alpha)); break; } case ETransitionLogicType::TLT_Custom: { if (ActiveTransition.CustomTransitionGraph.LinkID != INDEX_NONE) { for (TArray<FAnimNode_TransitionPoseEvaluator*>::TIterator PoseEvaluatorListIt = ActiveTransition.PoseEvaluators.CreateIterator(); PoseEvaluatorListIt; ++PoseEvaluatorListIt) { FAnimNode_TransitionPoseEvaluator* Evaluator = *PoseEvaluatorListIt; if (Evaluator->InputNodeNeedsUpdate()) { const bool bUsePreviousState = (Evaluator->DataSource == EEvaluatorDataSource::EDS_SourcePose); const int32 EffectiveStateIndex = bUsePreviousState ? ActiveTransition.PreviousState : ActiveTransition.NextState; AddStateWeight(StateWeightMap, EffectiveStateIndex, 1.f); } } } break; } default: { break; } } } } } else if (!IsAConduitState(CurrentState)) { StateWeightMap.Add(CurrentState) = 1.0f; } DebugData.AddDebugItem(DebugLine); for (int32 PoseIndex = 0; PoseIndex < StatePoseLinks.Num(); ++PoseIndex) { float* WeightPtr = StateWeightMap.Find(PoseIndex); float Weight = WeightPtr ? *WeightPtr : 0.f; StatePoseLinks[PoseIndex].GatherDebugData(DebugData.BranchFlow(Weight)); } }