mirror of
https://github.com/lucastucious/Mirror_Animation_System.git
synced 2025-05-10 14:25:51 +00:00
Update names to prevent conflicts
This commit is contained in:
parent
7a4271e0ba
commit
e159e81585
10 changed files with 55 additions and 55 deletions
|
@ -1,17 +1,17 @@
|
|||
// Copyright 2017-2021 Rexocrates. All Rights Reserved.
|
||||
#include "AnimNode_Mirror.h"
|
||||
#include "AnimNode_FullMirror.h"
|
||||
#include "MirrorAnimationSystem.h"
|
||||
|
||||
//#include "AnimationRuntime.h"
|
||||
|
||||
FAnimNode_Mirror::FAnimNode_Mirror()
|
||||
FAnimNode_FullMirror::FAnimNode_FullMirror()
|
||||
:
|
||||
MirrorTable(NULL)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void FAnimNode_Mirror::Initialize_AnyThread(const FAnimationInitializeContext & Context)
|
||||
void FAnimNode_FullMirror::Initialize_AnyThread(const FAnimationInitializeContext & Context)
|
||||
{
|
||||
|
||||
FAnimNode_Base::Initialize_AnyThread(Context);
|
||||
|
@ -19,20 +19,20 @@ void FAnimNode_Mirror::Initialize_AnyThread(const FAnimationInitializeContext &
|
|||
BasePose.Initialize(Context);
|
||||
}
|
||||
|
||||
void FAnimNode_Mirror::CacheBones_AnyThread(const FAnimationCacheBonesContext & Context)
|
||||
void FAnimNode_FullMirror::CacheBones_AnyThread(const FAnimationCacheBonesContext & Context)
|
||||
{
|
||||
|
||||
BasePose.CacheBones(Context);
|
||||
}
|
||||
|
||||
void FAnimNode_Mirror::Update_AnyThread(const FAnimationUpdateContext & Context)
|
||||
void FAnimNode_FullMirror::Update_AnyThread(const FAnimationUpdateContext & Context)
|
||||
{
|
||||
GetEvaluateGraphExposedInputs().Execute(Context);
|
||||
BasePose.Update(Context);
|
||||
}
|
||||
|
||||
|
||||
void FAnimNode_Mirror::Evaluate_AnyThread(FPoseContext & Output)
|
||||
void FAnimNode_FullMirror::Evaluate_AnyThread(FPoseContext & Output)
|
||||
{
|
||||
// Evaluate the input
|
||||
|
||||
|
@ -143,7 +143,7 @@ void FAnimNode_Mirror::Evaluate_AnyThread(FPoseContext & Output)
|
|||
}
|
||||
|
||||
|
||||
void FAnimNode_Mirror::GatherDebugData(FNodeDebugData & DebugData)
|
||||
void FAnimNode_FullMirror::GatherDebugData(FNodeDebugData & DebugData)
|
||||
{
|
||||
FString DebugLine = DebugData.GetNodeName(this);
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// Copyright 2017-2021 Rexocrates. All Rights Reserved.
|
||||
#include "AnimNode_MirrorCS.h"
|
||||
#include "AnimNode_FullMirrorCS.h"
|
||||
#include "MirrorAnimationSystem.h"
|
||||
|
||||
#include "AnimationRuntime.h"
|
||||
|
@ -8,16 +8,16 @@
|
|||
#include "MASUtils.h"
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// FAnimNode_MirrorCS
|
||||
// FAnimNode_FullMirrorCS
|
||||
|
||||
FAnimNode_MirrorCS::~FAnimNode_MirrorCS()
|
||||
FAnimNode_FullMirrorCS::~FAnimNode_FullMirrorCS()
|
||||
{
|
||||
TwinPairs.Empty();
|
||||
NonTwinIDs.Empty();
|
||||
NonTwinFlipAxis.Empty();
|
||||
}
|
||||
|
||||
FAnimNode_MirrorCS::FAnimNode_MirrorCS() :
|
||||
FAnimNode_FullMirrorCS::FAnimNode_FullMirrorCS() :
|
||||
CompletlySymmetrical(false)
|
||||
{
|
||||
TwinPairs.Empty();
|
||||
|
@ -25,12 +25,12 @@ CompletlySymmetrical(false)
|
|||
NonTwinFlipAxis.Empty();
|
||||
}
|
||||
|
||||
void FAnimNode_MirrorCS::GatherDebugData(FNodeDebugData& DebugData)
|
||||
void FAnimNode_FullMirrorCS::GatherDebugData(FNodeDebugData& DebugData)
|
||||
{
|
||||
Super::GatherDebugData(DebugData);
|
||||
}
|
||||
|
||||
void FAnimNode_MirrorCS::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseContext& Output, TArray<FBoneTransform>& OutBoneTransforms)
|
||||
void FAnimNode_FullMirrorCS::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseContext& Output, TArray<FBoneTransform>& OutBoneTransforms)
|
||||
{
|
||||
check(OutBoneTransforms.Num() == 0);
|
||||
|
||||
|
@ -88,7 +88,7 @@ void FAnimNode_MirrorCS::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseCo
|
|||
|
||||
|
||||
|
||||
// twin 1º
|
||||
// twin 1<EFBFBD>
|
||||
{
|
||||
const FTransform MirrRef = RefTM * TwinMirrorModTM;
|
||||
const FTransform Delta = TwinRefTM.GetRelativeTransform(MirrRef);
|
||||
|
@ -126,7 +126,7 @@ void FAnimNode_MirrorCS::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseCo
|
|||
NewCSTMs[TwinBoneIndex] = MirrTM;
|
||||
}
|
||||
|
||||
// twin 2º
|
||||
// twin 2<EFBFBD>
|
||||
{
|
||||
FTransform TwinMirrRef = TwinRefTM * TwinMirrorModTM;
|
||||
const FQuat TwinDeltaQuat = TwinMirrRef.GetRotation().Inverse() * RefTM.GetRotation();
|
||||
|
@ -171,25 +171,25 @@ void FAnimNode_MirrorCS::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseCo
|
|||
}
|
||||
}
|
||||
|
||||
bool FAnimNode_MirrorCS::IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones)
|
||||
bool FAnimNode_FullMirrorCS::IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void FAnimNode_MirrorCS::InitializeBoneReferences(const FBoneContainer& RequiredBones)
|
||||
void FAnimNode_FullMirrorCS::InitializeBoneReferences(const FBoneContainer& RequiredBones)
|
||||
{
|
||||
Super::InitializeBoneReferences(RequiredBones);
|
||||
|
||||
SetMirrorDataIfDirty(RequiredBones.GetReferenceSkeleton());
|
||||
}
|
||||
|
||||
void FAnimNode_MirrorCS::Initialize_AnyThread(const FAnimationInitializeContext& Context)
|
||||
void FAnimNode_FullMirrorCS::Initialize_AnyThread(const FAnimationInitializeContext& Context)
|
||||
{
|
||||
Super::Initialize_AnyThread(Context);
|
||||
}
|
||||
|
||||
|
||||
void FAnimNode_MirrorCS::SetMirrorDataIfDirty(const FReferenceSkeleton& RefSkeleton)
|
||||
void FAnimNode_FullMirrorCS::SetMirrorDataIfDirty(const FReferenceSkeleton& RefSkeleton)
|
||||
{
|
||||
if (RefSkeleton.GetNum() == LastBoneNum) return;
|
||||
|
|
@ -243,12 +243,12 @@ void UExtCharacterMovementComponent::PerformMovement(float DeltaSeconds)
|
|||
FTransform TmpRootMootTr = RootMotionParams.GetRootMotionTransform();
|
||||
TmpRootMootTr.Mirror(MirrorAxis, FlipAxis);
|
||||
TmpRootMootTr.SetScale3D(TmpRootMootTr.GetScale3D().GetAbs());
|
||||
RootMotionParams.Set(ConvertLocalRootMotionToWorld(TmpRootMootTr));
|
||||
RootMotionParams.Set(ConvertLocalRootMotionToWorld(TmpRootMootTr,DeltaSeconds));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Convert Local Space Root Motion to world space. Do it right before used by physics to make sure we use up to date transforms, as translation is relative to rotation.
|
||||
RootMotionParams.Set(ConvertLocalRootMotionToWorld(RootMotionParams.GetRootMotionTransform()));
|
||||
RootMotionParams.Set(ConvertLocalRootMotionToWorld(RootMotionParams.GetRootMotionTransform(),DeltaSeconds));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -320,7 +320,7 @@ void UExtCharacterMovementComponent::PerformMovement(float DeltaSeconds)
|
|||
// Update character state based on change from movement
|
||||
UpdateCharacterStateAfterMovement(DeltaSeconds);
|
||||
|
||||
if ((bAllowPhysicsRotationDuringAnimRootMotion || !HasAnimRootMotion()) && !CharacterOwner->IsMatineeControlled())
|
||||
if ((bAllowPhysicsRotationDuringAnimRootMotion || !HasAnimRootMotion()) ) //@TODO: check if not owned by Levelsequence
|
||||
{
|
||||
PhysicsRotation(DeltaSeconds);
|
||||
}
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
#include "Animation/AnimNodeBase.h"
|
||||
#include "Animation/AnimInstanceProxy.h"
|
||||
#include "MirrorTable.h"
|
||||
#include "AnimNode_Mirror.generated.h"
|
||||
#include "AnimNode_FullMirror.generated.h"
|
||||
/**
|
||||
*
|
||||
*/
|
||||
/*Runtime code for the AnimGraph Node Mirror Pose,
|
||||
takes in a pose in local space and Mirrors each bone according to a Mirror Table*/
|
||||
USTRUCT(BlueprintInternalUseOnly)
|
||||
struct MIRRORANIMATIONSYSTEM_API FAnimNode_Mirror : public FAnimNode_Base
|
||||
struct MIRRORANIMATIONSYSTEM_API FAnimNode_FullMirror : public FAnimNode_Base
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
@ -22,7 +22,7 @@ struct MIRRORANIMATIONSYSTEM_API FAnimNode_Mirror : public FAnimNode_Base
|
|||
UMirrorTable* MirrorTable;
|
||||
public:
|
||||
|
||||
FAnimNode_Mirror();
|
||||
FAnimNode_FullMirror();
|
||||
|
||||
// FAnimNode_Base interface
|
||||
virtual void Initialize_AnyThread(const FAnimationInitializeContext& Context) override;
|
|
@ -10,12 +10,12 @@
|
|||
|
||||
#include "MirrorTable.h"
|
||||
|
||||
#include "AnimNode_MirrorCS.generated.h"
|
||||
#include "AnimNode_FullMirrorCS.generated.h"
|
||||
|
||||
|
||||
// Component Space version of the Mirror Pose node.
|
||||
USTRUCT(BlueprintInternalUseOnly)
|
||||
struct MIRRORANIMATIONSYSTEM_API FAnimNode_MirrorCS : public FAnimNode_SkeletalControlBase
|
||||
struct MIRRORANIMATIONSYSTEM_API FAnimNode_FullMirrorCS : public FAnimNode_SkeletalControlBase
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
@ -29,8 +29,8 @@ struct MIRRORANIMATIONSYSTEM_API FAnimNode_MirrorCS : public FAnimNode_SkeletalC
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MirrorBones)
|
||||
FString Substring_B;
|
||||
|
||||
~FAnimNode_MirrorCS();
|
||||
FAnimNode_MirrorCS();
|
||||
~FAnimNode_FullMirrorCS();
|
||||
FAnimNode_FullMirrorCS();
|
||||
|
||||
// FAnimNode_Base interface
|
||||
virtual void GatherDebugData(FNodeDebugData& DebugData) override;
|
|
@ -1,32 +1,32 @@
|
|||
// Copyright 2017-2021 Rexocrates. All Rights Reserved.
|
||||
#include "AnimGraphNode_Mirror.h"
|
||||
#include "AnimGraphNode_FullMirror.h"
|
||||
#include "MirrorAnimationSystemEditor.h"
|
||||
|
||||
|
||||
#define LOCTEXT_NAMESPACE "A3Nodes"
|
||||
|
||||
UAnimGraphNode_Mirror::UAnimGraphNode_Mirror(const FObjectInitializer& ObjectInitializer)
|
||||
UAnimGraphNode_FullMirror::UAnimGraphNode_FullMirror(const FObjectInitializer& ObjectInitializer)
|
||||
:Super(ObjectInitializer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
FLinearColor UAnimGraphNode_Mirror::GetNodeTitleColor() const
|
||||
FLinearColor UAnimGraphNode_FullMirror::GetNodeTitleColor() const
|
||||
{
|
||||
return FLinearColor::Red;
|
||||
}
|
||||
|
||||
FText UAnimGraphNode_Mirror::GetTooltipText() const
|
||||
FText UAnimGraphNode_FullMirror::GetTooltipText() const
|
||||
{
|
||||
return LOCTEXT("Mirrors_the_designated_bones", "Mirrors the pose based on the designated Mirror Table");
|
||||
}
|
||||
|
||||
FText UAnimGraphNode_Mirror::GetNodeTitle(ENodeTitleType::Type TitleType) const
|
||||
FText UAnimGraphNode_FullMirror::GetNodeTitle(ENodeTitleType::Type TitleType) const
|
||||
{
|
||||
return LOCTEXT("Mirror_Pose", "Mirror Pose");
|
||||
}
|
||||
|
||||
FString UAnimGraphNode_Mirror::GetNodeCategory() const
|
||||
FString UAnimGraphNode_FullMirror::GetNodeCategory() const
|
||||
{
|
||||
return TEXT("Tools");
|
||||
}
|
|
@ -1,32 +1,32 @@
|
|||
// Copyright 2017-2021 Rexocrates. All Rights Reserved.
|
||||
#include "AnimGraphNode_MirrorCS.h"
|
||||
#include "AnimGraphNode_FullMirrorCS.h"
|
||||
#include "MirrorAnimationSystemEditor.h"
|
||||
|
||||
|
||||
#define LOCTEXT_NAMESPACE "A3Nodes"
|
||||
|
||||
|
||||
UAnimGraphNode_MirrorCS::UAnimGraphNode_MirrorCS(const FObjectInitializer& ObjectInitializer)
|
||||
UAnimGraphNode_FullMirrorCS::UAnimGraphNode_FullMirrorCS(const FObjectInitializer& ObjectInitializer)
|
||||
: Super(ObjectInitializer)
|
||||
{
|
||||
}
|
||||
|
||||
FLinearColor UAnimGraphNode_MirrorCS::GetNodeTitleColor() const
|
||||
FLinearColor UAnimGraphNode_FullMirrorCS::GetNodeTitleColor() const
|
||||
{
|
||||
return FLinearColor::Blue;
|
||||
}
|
||||
|
||||
FText UAnimGraphNode_MirrorCS::GetControllerDescription() const
|
||||
FText UAnimGraphNode_FullMirrorCS::GetControllerDescription() const
|
||||
{
|
||||
return LOCTEXT("AnimGraphNode_MirrorCS", "Mirror Pose CS");
|
||||
}
|
||||
|
||||
FText UAnimGraphNode_MirrorCS::GetTooltipText() const
|
||||
FText UAnimGraphNode_FullMirrorCS::GetTooltipText() const
|
||||
{
|
||||
return LOCTEXT("AnimGraphNode_MirrorCS_Tooltip", "Mirror the pose in Component Space.");
|
||||
}
|
||||
|
||||
FText UAnimGraphNode_MirrorCS::GetNodeTitle(ENodeTitleType::Type TitleType) const
|
||||
FText UAnimGraphNode_FullMirrorCS::GetNodeTitle(ENodeTitleType::Type TitleType) const
|
||||
{
|
||||
FText NodeTitle;
|
||||
if (TitleType == ENodeTitleType::ListView || TitleType == ENodeTitleType::MenuTitle)
|
||||
|
@ -40,12 +40,12 @@ FText UAnimGraphNode_MirrorCS::GetNodeTitle(ENodeTitleType::Type TitleType) cons
|
|||
return NodeTitle;
|
||||
}
|
||||
|
||||
void UAnimGraphNode_MirrorCS::ValidateAnimNodePostCompile(class FCompilerResultsLog& MessageLog, class UAnimBlueprintGeneratedClass* CompiledClass, int32 CompiledNodeIndex)
|
||||
void UAnimGraphNode_FullMirrorCS::ValidateAnimNodePostCompile(class FCompilerResultsLog& MessageLog, class UAnimBlueprintGeneratedClass* CompiledClass, int32 CompiledNodeIndex)
|
||||
{
|
||||
Super::ValidateAnimNodePostCompile(MessageLog, CompiledClass, CompiledNodeIndex);
|
||||
}
|
||||
|
||||
bool UAnimGraphNode_MirrorCS::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const
|
||||
bool UAnimGraphNode_FullMirrorCS::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const
|
||||
{
|
||||
return Super::IsCompatibleWithGraph(TargetGraph);
|
||||
}
|
|
@ -20,7 +20,7 @@
|
|||
#include "Framework/Docking/TabManager.h"
|
||||
#include "EditorStyleSet.h"
|
||||
#include "CanvasItem.h"
|
||||
#include "AssetRegistryModule.h"
|
||||
#include "AssetRegistry/AssetRegistryModule.h"
|
||||
#include "PropertyEditorModule.h"
|
||||
#include "IContentBrowserSingleton.h"
|
||||
#include "ContentBrowserModule.h"
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
#pragma once
|
||||
#include "AnimGraphNode_Base.h"
|
||||
#include "AnimNode_Mirror.h"
|
||||
#include "AnimGraphNode_Mirror.generated.h"
|
||||
#include "AnimNode_FullMirror.h"
|
||||
#include "AnimGraphNode_FullMirror.generated.h"
|
||||
/**
|
||||
*
|
||||
*/
|
||||
/*class that holds Editor version of the AnimGraph Node Mirror Pose, along its tittle, tooltip, Node Color, and the category of the node*/
|
||||
UCLASS()
|
||||
class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_Mirror : public UAnimGraphNode_Base
|
||||
class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_FullMirror : public UAnimGraphNode_Base
|
||||
{
|
||||
GENERATED_BODY()
|
||||
UPROPERTY(EditAnywhere, Category = Settings)
|
||||
FAnimNode_Mirror Node;
|
||||
FAnimNode_FullMirror Node;
|
||||
|
||||
//~ Begin UEdGraphNode Interface.
|
||||
virtual FLinearColor GetNodeTitleColor() const override;
|
||||
|
@ -25,5 +25,5 @@ class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_Mirror : public UAnimGraphN
|
|||
virtual FString GetNodeCategory() const override;
|
||||
//~ End UAnimGraphNode_Base Interface
|
||||
|
||||
UAnimGraphNode_Mirror(const FObjectInitializer& ObjectInitializer);
|
||||
UAnimGraphNode_FullMirror(const FObjectInitializer& ObjectInitializer);
|
||||
};
|
|
@ -3,19 +3,19 @@
|
|||
#pragma once
|
||||
//#include "AnimGraphNode_Base.h"
|
||||
#include "AnimGraphNode_SkeletalControlBase.h"
|
||||
#include "AnimNode_MirrorCS.h"
|
||||
#include "AnimGraphNode_MirrorCS.generated.h"
|
||||
#include "AnimNode_FullMirrorCS.h"
|
||||
#include "AnimGraphNode_FullMirrorCS.generated.h"
|
||||
/**
|
||||
*
|
||||
*/
|
||||
/*class that holds Editor version of the AnimGraph Node Mirror Pose, along its tittle, tooltip, Node Color, and the category of the node*/
|
||||
UCLASS()
|
||||
class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_MirrorCS : public UAnimGraphNode_SkeletalControlBase
|
||||
class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_FullMirrorCS : public UAnimGraphNode_SkeletalControlBase
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UPROPERTY(EditAnywhere, Category = Settings)
|
||||
FAnimNode_MirrorCS Node;
|
||||
FAnimNode_FullMirrorCS Node;
|
||||
/*
|
||||
//~ Begin UEdGraphNode Interface.
|
||||
virtual FLinearColor GetNodeTitleColor() const override;
|
||||
|
@ -27,12 +27,12 @@ class MIRRORANIMATIONSYSTEMEDITOR_API UAnimGraphNode_MirrorCS : public UAnimGrap
|
|||
virtual FString GetNodeCategory() const override;
|
||||
//~ End UAnimGraphNode_Base Interface
|
||||
|
||||
UAnimGraphNode_MirrorCS(const FObjectInitializer& ObjectInitializer);
|
||||
UAnimGraphNode_FullMirrorCS(const FObjectInitializer& ObjectInitializer);
|
||||
*/
|
||||
|
||||
|
||||
public:
|
||||
UAnimGraphNode_MirrorCS(const FObjectInitializer& ObjectInitializer);
|
||||
UAnimGraphNode_FullMirrorCS(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
// UEdGraphNode interface
|
||||
virtual FLinearColor GetNodeTitleColor() const override;
|
Loading…
Reference in a new issue