2020-01-07 17:07:47 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-12-13 11:07:03 -05:00
|
|
|
|
|
|
|
|
#include "AnimGraphRuntimeTrace.h"
|
|
|
|
|
|
|
|
|
|
#if ANIM_TRACE_ENABLED
|
|
|
|
|
|
2020-06-23 18:40:00 -04:00
|
|
|
#include "Trace/Trace.inl"
|
2021-02-15 10:12:58 -04:00
|
|
|
#include "Animation/BlendSpace.h"
|
2019-12-13 11:07:03 -05:00
|
|
|
#include "AnimNodes/AnimNode_BlendSpacePlayer.h"
|
2021-01-25 08:43:19 -04:00
|
|
|
#include "AnimNodes/AnimNode_BlendSpaceGraphBase.h"
|
2019-12-13 11:07:03 -05:00
|
|
|
#include "Animation/AnimInstanceProxy.h"
|
|
|
|
|
|
|
|
|
|
UE_TRACE_EVENT_BEGIN(Animation, BlendSpacePlayer)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(uint64, Cycle)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(uint64, AnimInstanceId)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(uint64, BlendSpaceId)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(int32, NodeId)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(float, PositionX)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(float, PositionY)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(float, PositionZ)
|
2021-02-01 13:01:45 -04:00
|
|
|
UE_TRACE_EVENT_FIELD(float, FilteredPositionX)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(float, FilteredPositionY)
|
|
|
|
|
UE_TRACE_EVENT_FIELD(float, FilteredPositionZ)
|
|
|
|
|
UE_TRACE_EVENT_END()
|
2019-12-13 11:07:03 -05:00
|
|
|
|
2022-03-18 10:45:08 -04:00
|
|
|
void FAnimGraphRuntimeTrace::OutputBlendSpacePlayer(const FAnimationBaseContext& InContext, const FAnimNode_BlendSpacePlayerBase& InNode)
|
2019-12-13 11:07:03 -05:00
|
|
|
{
|
2020-01-13 07:16:21 -05:00
|
|
|
bool bEventEnabled = UE_TRACE_CHANNELEXPR_IS_ENABLED(AnimationChannel);
|
2019-12-13 11:07:03 -05:00
|
|
|
if (!bEventEnabled)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
check(InContext.AnimInstanceProxy);
|
|
|
|
|
|
|
|
|
|
TRACE_OBJECT(InContext.AnimInstanceProxy->GetAnimInstanceObject());
|
2021-04-22 04:57:09 -04:00
|
|
|
TRACE_OBJECT(InNode.GetBlendSpace());
|
|
|
|
|
|
|
|
|
|
FVector SampleCoordinates = InNode.GetPosition();
|
|
|
|
|
FVector FilteredPosition = InNode.GetFilteredPosition();
|
2019-12-13 11:07:03 -05:00
|
|
|
|
2020-01-13 07:16:21 -05:00
|
|
|
UE_TRACE_LOG(Animation, BlendSpacePlayer, AnimationChannel)
|
2019-12-13 11:07:03 -05:00
|
|
|
<< BlendSpacePlayer.Cycle(FPlatformTime::Cycles64())
|
|
|
|
|
<< BlendSpacePlayer.AnimInstanceId(FObjectTrace::GetObjectId(InContext.AnimInstanceProxy->GetAnimInstanceObject()))
|
2021-04-22 04:57:09 -04:00
|
|
|
<< BlendSpacePlayer.BlendSpaceId(FObjectTrace::GetObjectId(InNode.GetBlendSpace()))
|
2019-12-13 11:07:03 -05:00
|
|
|
<< BlendSpacePlayer.NodeId(InContext.GetCurrentNodeId())
|
2021-04-22 04:57:09 -04:00
|
|
|
<< BlendSpacePlayer.PositionX(SampleCoordinates.X)
|
|
|
|
|
<< BlendSpacePlayer.PositionY(SampleCoordinates.Y)
|
|
|
|
|
<< BlendSpacePlayer.PositionZ(SampleCoordinates.Z)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionX(FilteredPosition.X)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionY(FilteredPosition.Y)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionZ(FilteredPosition.Z);
|
2019-12-13 11:07:03 -05:00
|
|
|
}
|
|
|
|
|
|
2021-01-25 08:43:19 -04:00
|
|
|
void FAnimGraphRuntimeTrace::OutputBlendSpace(const FAnimationBaseContext& InContext, const FAnimNode_BlendSpaceGraphBase& InNode)
|
|
|
|
|
{
|
|
|
|
|
bool bEventEnabled = UE_TRACE_CHANNELEXPR_IS_ENABLED(AnimationChannel);
|
|
|
|
|
if (!bEventEnabled)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
check(InContext.AnimInstanceProxy);
|
|
|
|
|
|
|
|
|
|
TRACE_OBJECT(InContext.AnimInstanceProxy->GetAnimInstanceObject());
|
|
|
|
|
TRACE_OBJECT(InNode.GetBlendSpace());
|
|
|
|
|
|
2021-02-01 13:01:45 -04:00
|
|
|
FVector Coordinates = InNode.GetPosition();
|
|
|
|
|
FVector FilteredCoordinates = InNode.GetFilteredPosition();
|
2021-01-25 08:43:19 -04:00
|
|
|
|
|
|
|
|
UE_TRACE_LOG(Animation, BlendSpacePlayer, AnimationChannel)
|
|
|
|
|
<< BlendSpacePlayer.Cycle(FPlatformTime::Cycles64())
|
|
|
|
|
<< BlendSpacePlayer.AnimInstanceId(FObjectTrace::GetObjectId(InContext.AnimInstanceProxy->GetAnimInstanceObject()))
|
|
|
|
|
<< BlendSpacePlayer.BlendSpaceId(FObjectTrace::GetObjectId(InNode.GetBlendSpace()))
|
|
|
|
|
<< BlendSpacePlayer.NodeId(InContext.GetCurrentNodeId())
|
|
|
|
|
<< BlendSpacePlayer.PositionX(Coordinates.X)
|
|
|
|
|
<< BlendSpacePlayer.PositionY(Coordinates.Y)
|
2021-02-01 13:01:45 -04:00
|
|
|
<< BlendSpacePlayer.PositionZ(Coordinates.Z)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionX(FilteredCoordinates.X)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionY(FilteredCoordinates.Y)
|
|
|
|
|
<< BlendSpacePlayer.FilteredPositionZ(FilteredCoordinates.Z);
|
2021-01-25 08:43:19 -04:00
|
|
|
}
|
|
|
|
|
|
2019-12-13 11:07:03 -05:00
|
|
|
#endif
|