From 4f3ed27aded26f11ecc1a39b15998a5b2ce326b4 Mon Sep 17 00:00:00 2001 From: pnossol <patrick.nossol@gmail.com> Date: Thu, 2 Feb 2023 22:52:27 +0100 Subject: [PATCH] compiling corrections for 5.1 --- Source/MoCapPlugin/MoCapPlugin.Build.cs | 2 +- .../MoCapPlugin/Private/MCCalibrationNode.cpp | 2 +- Source/MoCapPlugin/Private/MCController.cpp | 29 +++++++++------- Source/MoCapPlugin/Private/MCPawn.cpp | 2 +- Source/MoCapPlugin/Private/MCRigUnits.cpp | 33 +++++++++++-------- Source/MoCapPlugin/Private/MoCapPlugin.cpp | 2 +- 6 files changed, 41 insertions(+), 29 deletions(-) diff --git a/Source/MoCapPlugin/MoCapPlugin.Build.cs b/Source/MoCapPlugin/MoCapPlugin.Build.cs index 0a03bd6..848ecc8 100644 --- a/Source/MoCapPlugin/MoCapPlugin.Build.cs +++ b/Source/MoCapPlugin/MoCapPlugin.Build.cs @@ -28,7 +28,7 @@ public class MoCapPlugin : ModuleRules "CharacterPlugin", "ControlRig", "RigVM" - } + } ); diff --git a/Source/MoCapPlugin/Private/MCCalibrationNode.cpp b/Source/MoCapPlugin/Private/MCCalibrationNode.cpp index 29cd52c..7ee8f8c 100644 --- a/Source/MoCapPlugin/Private/MCCalibrationNode.cpp +++ b/Source/MoCapPlugin/Private/MCCalibrationNode.cpp @@ -144,7 +144,7 @@ void FMCCalibrationNode::InitializeBoneReferences(const FBoneContainer& Required DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(InitializeBoneReferences) for (int i = 0; i < BonesToModify.Num(); i++) { BonesToModify[i].Initialize(RequiredBones); - if (!BonesToModify[i].IsValid(RequiredBones)) { + if (!BonesToModify[i].IsValidToEvaluate(RequiredBones)) { BonesToModify.RemoveAt(i); i--; } diff --git a/Source/MoCapPlugin/Private/MCController.cpp b/Source/MoCapPlugin/Private/MCController.cpp index 05e8468..f6e318e 100644 --- a/Source/MoCapPlugin/Private/MCController.cpp +++ b/Source/MoCapPlugin/Private/MCController.cpp @@ -11,7 +11,8 @@ #include "IUniversalLogging.h" #include "Engine/Engine.h" #include "Kismet/GameplayStatics.h" -#include "AssetRegistryModule.h" +#include "AssetRegistryModule.h" +#include "SteamVRInputDeviceFunctionLibrary.h" AMCController::AMCController() { @@ -56,7 +57,7 @@ void AMCController::BeginPlay() { Pawn->GetAnimInstance()->RightFootPlane = RightFootPlane->GetActorTransform(); } if (bFingerTrackingEnabled) { - USteamVRInputDeviceFunctionLibrary::SetCurlsAndSplaysState(true, true); + UDEPRECATED_USteamVRInputDeviceFunctionLibrary::SetCurlsAndSplaysState(true, true); } if (SpectatorCam && !UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayEnabled()) { @@ -1111,6 +1112,8 @@ UAnimSequence* AMCController::SaveAsAnimSequence(const FSnapshotAnimations& Reco if (AnimationSequence == nullptr) { AnimationSequence = NewObject<UAnimSequence>(Package, UAnimSequence::StaticClass(), *AnimName, RF_Public | RF_Standalone); if (AnimationSequence) { + + IAnimationDataController& Controller = AnimationSequence->GetController(); AnimationSequence->SetSkeleton(AnimSaveState.Pawn->GetSkeleton()); @@ -1118,9 +1121,10 @@ UAnimSequence* AMCController::SaveAsAnimSequence(const FSnapshotAnimations& Reco int32 PelvisIndex = AnimationSequence->GetSkeleton()->GetSkeletonBoneIndexFromMeshBoneIndex(AnimSaveState.Pawn->SkeletalMesh->SkeletalMesh, RefPelvisIndex); AnimationSequence->GetSkeleton()->SetBoneTranslationRetargetingMode(PelvisIndex, EBoneTranslationRetargetingMode::Animation, false); - AnimationSequence->SetRawNumberOfFrame(Recording.Snapshots.Num()); - AnimationSequence->SequenceLength = (Recording.EndTime - Recording.StartTime).GetTotalSeconds(); - + AnimationSequence->SetSequenceLength((Recording.EndTime - Recording.StartTime).GetTotalSeconds()); + Controller.SetPlayLength((Recording.EndTime - Recording.StartTime).GetTotalSeconds()); + Controller.SetFrameRate(FFrameRate((Recording.EndTime - Recording.StartTime).GetTotalSeconds(), Recording.Snapshots.Num())); + SetBonesAnimationInAnimSeq(Recording, AnimationSequence); FAssetRegistryModule::AssetCreated(AnimationSequence); @@ -1149,6 +1153,8 @@ void AMCController::SetBonesAnimationInAnimSeq(const FSnapshotAnimations& Record } } + IAnimationDataController& Controller = AnimSequence->GetController(); + for (const FName& BoneName : BoneNames) { FRawAnimSequenceTrack Track; @@ -1159,12 +1165,12 @@ void AMCController::SetBonesAnimationInAnimSeq(const FSnapshotAnimations& Record int32 Index = Snapshot.BoneNames.IndexOfByKey(BoneName); if (Index != INDEX_NONE) { - Track.RotKeys.Add(Snapshot.LocalTransforms[Index].GetRotation()); - Track.PosKeys.Add(Snapshot.LocalTransforms[Index].GetLocation()); + Track.RotKeys.Add(FQuat4f(Snapshot.LocalTransforms[Index].GetRotation())); + Track.PosKeys.Add(FVector3f(Snapshot.LocalTransforms[Index].GetLocation())); } else if (Frame == 0) { - Track.RotKeys.Add(FRotator::ZeroRotator.Quaternion()); - Track.PosKeys.Add(FVector::ZeroVector); + Track.RotKeys.Add(FQuat4f(FRotator::ZeroRotator.Quaternion())); + Track.PosKeys.Add(FVector3f(FVector::ZeroVector)); } else { Track.RotKeys.Add(Track.RotKeys[Frame - 1]); @@ -1173,7 +1179,8 @@ void AMCController::SetBonesAnimationInAnimSeq(const FSnapshotAnimations& Record } - AnimSequence->AddNewRawTrack(BoneName, &Track); + Controller.AddBoneTrack(BoneName); + Controller.SetBoneTrackKeys(BoneName, Track.PosKeys, Track.RotKeys, {}); } #endif @@ -1188,7 +1195,7 @@ void AMCController::PostEditChangeProperty(FPropertyChangedEvent& PropertyChange FFloatProperty* fprop = CastField<FFloatProperty>(prop); if (fprop != nullptr) { - float* val = nullptr; + double* val = nullptr; { if (LastAddOffsets.HeadRotOffset.Roll != AdditionalOffsets.HeadRotOffset.Roll) { val = &AdditionalOffsets.HeadRotOffset.Roll; diff --git a/Source/MoCapPlugin/Private/MCPawn.cpp b/Source/MoCapPlugin/Private/MCPawn.cpp index ba69d77..f710657 100644 --- a/Source/MoCapPlugin/Private/MCPawn.cpp +++ b/Source/MoCapPlugin/Private/MCPawn.cpp @@ -394,7 +394,7 @@ void AMCPawn::AddFingerDataToJson(TSharedPtr<FJsonObject> JsonObjectFull, ESkele FSteamVRFingerCurls Curls; FSteamVRFingerSplays Splays; - USteamVRInputDeviceFunctionLibrary::GetFingerCurlsAndSplays(VRHand, Curls, Splays, FingerTrackingMethod); + UDEPRECATED_USteamVRInputDeviceFunctionLibrary::GetFingerCurlsAndSplays(VRHand, Curls, Splays, FingerTrackingMethod); TSharedPtr<FJsonObject> JsonObject = MAKE_JSON; diff --git a/Source/MoCapPlugin/Private/MCRigUnits.cpp b/Source/MoCapPlugin/Private/MCRigUnits.cpp index 5c0391c..1b2b6b2 100644 --- a/Source/MoCapPlugin/Private/MCRigUnits.cpp +++ b/Source/MoCapPlugin/Private/MCRigUnits.cpp @@ -23,15 +23,16 @@ FRigUnit_ApplyFingerData::FRigUnit_ApplyFingerData() { } -void AddRotation(const FName& BoneName, float Angle, FRigBoneHierarchy* Hierarchy, const FName& Axis = "Y") { +void AddRotation(const FName& BoneName, float Angle, URigHierarchy* Hierarchy, const FName& Axis = "Y") { + FRigElementKey Rigement(BoneName, ERigElementType::Bone); if (Axis == "X") { - Hierarchy->SetLocalTransform(BoneName, FTransform(Hierarchy->GetLocalTransform(BoneName).GetRotation().Rotator().Add(0, 0, -Angle), Hierarchy->GetLocalTransform(BoneName).GetTranslation())); + Hierarchy->SetLocalTransform(Rigement, FTransform(Hierarchy->GetLocalTransform(Rigement).GetRotation().Rotator().Add(0, 0, -Angle), Hierarchy->GetLocalTransform(Rigement).GetTranslation())); } else if (Axis == "Y") { - Hierarchy->SetLocalTransform(BoneName, FTransform(Hierarchy->GetLocalTransform(BoneName).GetRotation().Rotator().Add(0, -Angle, 0), Hierarchy->GetLocalTransform(BoneName).GetTranslation())); + Hierarchy->SetLocalTransform(Rigement, FTransform(Hierarchy->GetLocalTransform(Rigement).GetRotation().Rotator().Add(0, -Angle, 0), Hierarchy->GetLocalTransform(Rigement).GetTranslation())); } else if (Axis == "Z") { - Hierarchy->SetLocalTransform(BoneName, FTransform(Hierarchy->GetLocalTransform(BoneName).GetRotation().Rotator().Add(-Angle, 0, 0), Hierarchy->GetLocalTransform(BoneName).GetTranslation())); + Hierarchy->SetLocalTransform(Rigement, FTransform(Hierarchy->GetLocalTransform(Rigement).GetRotation().Rotator().Add(-Angle, 0, 0), Hierarchy->GetLocalTransform(Rigement).GetTranslation())); } } @@ -55,7 +56,7 @@ FRigUnit_ApplyFingerData_Execute() { float Middle_Ring_Angle_N = Middle_Ring_Angle; float Ring_Pinky_Angle_N = Ring_Pinky_Angle; - FRigBoneHierarchy* Hierarchy = ExecuteContext.GetBones(); + URigHierarchy* Hierarchy = ExecuteContext.Hierarchy; if (Hierarchy) { @@ -167,10 +168,9 @@ FRigUnit_FootLocking::FRigUnit_FootLocking() { FRigUnit_FootLocking_Execute() { DECLARE_SCOPE_HIERARCHICAL_COUNTER_RIGUNIT() - FRigBoneHierarchy* Bones = ExecuteContext.GetBones(); - FRigControlHierarchy* Controls = ExecuteContext.GetControls(); + URigHierarchy* Hierarchy = ExecuteContext.Hierarchy; - if (Bones && Controls) { + if (Hierarchy) { FName FootBoneName; bool* Locked = nullptr; @@ -189,8 +189,10 @@ FRigUnit_FootLocking_Execute() { LockedTrans = &LockedTransRight; } - FTransform Root = Bones->GetGlobalTransform("root"); - FTransform Foot = Controls->GetGlobalTransform(FootBoneName); + FRigElementKey RootElement("root", ERigElementType::Bone); + FRigElementKey FootElement(FootBoneName, ERigElementType::Control); + FTransform Root = Hierarchy->GetGlobalTransform(RootElement); + FTransform Foot = Hierarchy->GetGlobalTransform(FootElement); FVector RootTrans2D = Root.GetLocation(); float RootHeight = RootTrans2D.Z; @@ -207,7 +209,7 @@ FRigUnit_FootLocking_Execute() { *Locked = false; } else { - Controls->SetGlobalTransform(FootBoneName, *LockedTrans); + Hierarchy->SetGlobalTransform(FootElement, *LockedTrans); } } @@ -258,7 +260,7 @@ struct OffsetHelperEntry { FRigUnit_AdditionalOffsets_Execute() { DECLARE_SCOPE_HIERARCHICAL_COUNTER_RIGUNIT() - FRigControlHierarchy* Hierarchy = ExecuteContext.GetControls(); + URigHierarchy* Hierarchy = ExecuteContext.Hierarchy; if (Hierarchy) { @@ -275,13 +277,16 @@ FRigUnit_AdditionalOffsets_Execute() { }; for (const auto& Offset : Offsets) { - FTransform Transform = Hierarchy->GetGlobalTransform(Offset.name); + + FRigElementKey OffsetElement(Offset.name, ERigElementType::Control); + + FTransform Transform = Hierarchy->GetGlobalTransform(OffsetElement); FQuat NormOffsetRot = (*Offset.rot).Quaternion(); NormOffsetRot.Normalize(); FTransform OffsetTransform(NormOffsetRot, *Offset.pos); - Hierarchy->SetGlobalTransform(Offset.name, OffsetTransform * Transform); + Hierarchy->SetGlobalTransform(OffsetElement, OffsetTransform * Transform); } } diff --git a/Source/MoCapPlugin/Private/MoCapPlugin.cpp b/Source/MoCapPlugin/Private/MoCapPlugin.cpp index 88d1398..2e33580 100644 --- a/Source/MoCapPlugin/Private/MoCapPlugin.cpp +++ b/Source/MoCapPlugin/Private/MoCapPlugin.cpp @@ -23,7 +23,7 @@ void FMoCapPluginModule::ShutdownModule() void FMoCapPluginModule::AskForSettings() { - bIsMaster = IDisplayCluster::Get().GetClusterMgr() != nullptr && IDisplayCluster::Get().GetClusterMgr()->IsMaster(); + bIsMaster = IDisplayCluster::Get().GetClusterMgr() != nullptr && IDisplayCluster::Get().GetClusterMgr()->IsPrimary(); bPluginInitialized = true; } -- GitLab