From fdb352ddf1f5f70172d915c0ba0a4f4cda1405c9 Mon Sep 17 00:00:00 2001 From: Simeon Wallrath Date: Sat, 9 Nov 2024 15:59:32 +0100 Subject: [PATCH] Work on Inventory (Stacking seems to work now), Update Dependencies --- .../Inventory/BP_InventoryWidget.uasset | 4 +- .../Content/Inventory/BP_VRInventory.uasset | 4 +- .../Inventory/InventoryDataTable.uasset | 4 +- .../MI_UI_Radial_Segments_3.uasset | 4 +- .../MI_UI_HexagonalTiling_2.uasset | 4 +- .../4_Halftone/MI_UI_Halftone_3.uasset | 4 +- .../4_Halftone/M_UI_Halftone.uasset | 4 +- .../Core/Character/BP_Trace_Controller.uasset | 4 +- .../VRE/Core/Character/BP_VRCharacter.uasset | 4 +- .../VRE/ExampleMap/MotionControllerMap.umap | 4 +- .../Grippables/Weapons/Guns/GunBase.uasset | 4 +- VIRTUOS_ExpansionPluginTests/Plugins/SPUD | 2 +- .../OpenXRExpansionPlugin.uplugin | 8 +- .../OpenXRExpansionPlugin.Build.cs | 2 +- .../Private/HandSocketComponentDetails.cpp | 4 +- .../Private/GripScripts/GS_Melee.cpp | 3 + .../GrippablePhysicsReplication.cpp | 2 +- .../Grippables/HandSocketComponent.cpp | 10 +- .../Private/Interactibles/VRDialComponent.cpp | 24 ++- .../Private/Misc/VRGameViewportClient.cpp | 143 ++++++++++++++++++ .../Private/Misc/VRLogComponent.cpp | 4 +- .../Private/Misc/VRRenderTargetManager.cpp | 2 +- .../Private/Mover/VRMoverComponent.cpp | 4 +- .../Private/VRBPDatatypes.cpp | 2 +- .../VRBaseCharacterMovementComponent.cpp | 2 +- .../Private/VRRootComponent.cpp | 8 +- .../Public/Interactibles/VRLeverComponent.h | 2 +- .../Public/Misc/VRGameViewportClient.h | 140 +---------------- .../Public/VRGestureComponent.h | 2 +- 29 files changed, 224 insertions(+), 184 deletions(-) create mode 100644 VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRGameViewportClient.cpp diff --git a/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_InventoryWidget.uasset b/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_InventoryWidget.uasset index 96165ba..8e66647 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_InventoryWidget.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_InventoryWidget.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:385b9482e0f1614f43fc5b82eec1ed9a7b03a22a2f700ff9cd95a167ecb66e33 -size 157447 +oid sha256:013ebb5f28f490311bb311f1eac7dd4fce158685f8c98e622663c7793c9d3352 +size 197532 diff --git a/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_VRInventory.uasset b/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_VRInventory.uasset index 8203a1b..77cec28 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_VRInventory.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/Inventory/BP_VRInventory.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ab0e339ebf5ac6d3e506bf0423a6352c392dc2a8886b0eb225a1735245208f8 -size 444452 +oid sha256:1ef9dd375f08efffb3269cd8fb3d1bb03c03e1f2d49b5cd3e51cb672381baee7 +size 552317 diff --git a/VIRTUOS_ExpansionPluginTests/Content/Inventory/InventoryDataTable.uasset b/VIRTUOS_ExpansionPluginTests/Content/Inventory/InventoryDataTable.uasset index fe08626..6843c8d 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/Inventory/InventoryDataTable.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/Inventory/InventoryDataTable.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:451b14696a0cf4cb491ead61d0282308b160d5ba4a7ab28bea3b5b2061bf655e -size 3535 +oid sha256:56682e67425e822491ae42f989bb316ae740c6ef0dda7f24edc1680cdd0ecff1 +size 3519 diff --git a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/5_Masks/4_RadialSegments/MI_UI_Radial_Segments_3.uasset b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/5_Masks/4_RadialSegments/MI_UI_Radial_Segments_3.uasset index 037a0ac..172be9e 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/5_Masks/4_RadialSegments/MI_UI_Radial_Segments_3.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/5_Masks/4_RadialSegments/MI_UI_Radial_Segments_3.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b13cd17feafcc4cf752077833bcbc714f1d69be5909362e4c5fcb326cddd5b12 -size 9415 +oid sha256:1b0eb7ce310e3a179e7fdd94a59caf5adeaee3100a20a7185ea3a67a2b5045b9 +size 9934 diff --git a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/2_HexagonalTiling/MI_UI_HexagonalTiling_2.uasset b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/2_HexagonalTiling/MI_UI_HexagonalTiling_2.uasset index 7ce499e..d21aca9 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/2_HexagonalTiling/MI_UI_HexagonalTiling_2.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/2_HexagonalTiling/MI_UI_HexagonalTiling_2.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c9f3483a5962c9bc7ad5eb1fa4b136b95c6cfbb4f7cf870aff1feb3a5d267e70 -size 11717 +oid sha256:6337ba783e8c5ff17b12d64d0a1c041138daf11a519051d21766676ba3becd20 +size 11628 diff --git a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/MI_UI_Halftone_3.uasset b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/MI_UI_Halftone_3.uasset index 859fc7e..229b804 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/MI_UI_Halftone_3.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/MI_UI_Halftone_3.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fb27c7157117a694965b673ec5ce6309fc9825fe9360ca7705c4aa27959d5f8 -size 36925 +oid sha256:df659b59cc42ac7651492a8d0a75a1d90898db71788908baa68ae8cbf0856f28 +size 43420 diff --git a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/M_UI_Halftone.uasset b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/M_UI_Halftone.uasset index 1a32c90..d576bbc 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/M_UI_Halftone.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/UIMaterialLab/Materials/6_Patterns/4_Halftone/M_UI_Halftone.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:920c5aef444fde7847f2eb73338abe3595a85f4008662e9fd9bf0f573ad6e3fb -size 107159 +oid sha256:4d2970f62364395e82effdceeb3bf38cb91865d968f39634d3f883b1f2de9a09 +size 111245 diff --git a/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_Trace_Controller.uasset b/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_Trace_Controller.uasset index 2b49ba2..7964dd1 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_Trace_Controller.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_Trace_Controller.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b29a73479c950901c1b4313b66517371348bf6c45a60869d2d9ba21d25e2b8de -size 1827925 +oid sha256:3db73c035b53ddc8e5137abcffb89579cbe5e78b2d39994b3fa7f41a32f226dd +size 1826365 diff --git a/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_VRCharacter.uasset b/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_VRCharacter.uasset index 15d9bf9..333cbd3 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_VRCharacter.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/VRE/Core/Character/BP_VRCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82d58de6383aebc77ca3aa0de6dff302c16ed96b134b04b971ba3c63df01e45a -size 5753266 +oid sha256:3c65f9d3e867f9eb05a68535d4789421d21cfdff5eb9e99a8d6438111f4cb901 +size 5751241 diff --git a/VIRTUOS_ExpansionPluginTests/Content/VRE/ExampleMap/MotionControllerMap.umap b/VIRTUOS_ExpansionPluginTests/Content/VRE/ExampleMap/MotionControllerMap.umap index 8b439f3..012ce7f 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/VRE/ExampleMap/MotionControllerMap.umap +++ b/VIRTUOS_ExpansionPluginTests/Content/VRE/ExampleMap/MotionControllerMap.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d35505747f3cf33a40527dc69dcdc59e07505818656406ac9904d08322f9bd4b -size 938936 +oid sha256:e7e78e00245d7cc3fba3a72e798347b317031ac026414ab23d5d80354c4526fd +size 956055 diff --git a/VIRTUOS_ExpansionPluginTests/Content/VRE/Grippables/Weapons/Guns/GunBase.uasset b/VIRTUOS_ExpansionPluginTests/Content/VRE/Grippables/Weapons/Guns/GunBase.uasset index c2a8554..5f79bfb 100644 --- a/VIRTUOS_ExpansionPluginTests/Content/VRE/Grippables/Weapons/Guns/GunBase.uasset +++ b/VIRTUOS_ExpansionPluginTests/Content/VRE/Grippables/Weapons/Guns/GunBase.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0cc7a7747b859dd3e628bc3a84bd8ed58989b62db1f8c603b6f223fee3c6325d -size 933763 +oid sha256:af5abab9ea063a728e9e158019a9efcb38030f5c6142cc31e258704bb82974eb +size 933841 diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/SPUD b/VIRTUOS_ExpansionPluginTests/Plugins/SPUD index 2c50d98..006e2b4 160000 --- a/VIRTUOS_ExpansionPluginTests/Plugins/SPUD +++ b/VIRTUOS_ExpansionPluginTests/Plugins/SPUD @@ -1 +1 @@ -Subproject commit 2c50d98d0de49b79602a30397dbda089b672c3b6 +Subproject commit 006e2b4922eb4f7af0d6df1468a042a98eecf68f diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/OpenXRExpansionPlugin.uplugin b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/OpenXRExpansionPlugin.uplugin index 6422043..7232e3d 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/OpenXRExpansionPlugin.uplugin +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/OpenXRExpansionPlugin.uplugin @@ -37,7 +37,12 @@ "Plugins": [ { "Name": "OpenXR", - "Enabled": true + "Enabled": true, + "PlatformAllowList": [ + "Win64", + "Linux", + "Android" + ] }, { "Name": "XRBase", @@ -45,3 +50,4 @@ } ] } + diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/Source/OpenXRExpansionPlugin/OpenXRExpansionPlugin.Build.cs b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/Source/OpenXRExpansionPlugin/OpenXRExpansionPlugin.Build.cs index 6670404..e7a0b33 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/Source/OpenXRExpansionPlugin/OpenXRExpansionPlugin.Build.cs +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/OpenXRExpansionPlugin/Source/OpenXRExpansionPlugin/OpenXRExpansionPlugin.Build.cs @@ -51,7 +51,7 @@ namespace UnrealBuildTool.Rules } ); - if (Target.Platform != UnrealTargetPlatform.Mac) + if (Target.Platform != UnrealTargetPlatform.Mac && Target.Platform != UnrealTargetPlatform.IOS) { PrivateDependencyModuleNames.AddRange( new string[] diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionEditor/Private/HandSocketComponentDetails.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionEditor/Private/HandSocketComponentDetails.cpp index 4198f7c..cb853cf 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionEditor/Private/HandSocketComponentDetails.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionEditor/Private/HandSocketComponentDetails.cpp @@ -107,7 +107,7 @@ TWeakObjectPtr FHandSocketComponentDetails::SaveAnimationAsset(co if (!BaseAnimation) { - LocalPoses = HandSocketComponent->VisualizationMesh->GetSkeleton()->GetRefLocalPoses(); + LocalPoses = HandSocketComponent->VisualizationMesh->GetRefSkeleton().GetRefBonePose(); } // If not, create new one now. @@ -251,7 +251,7 @@ TWeakObjectPtr FHandSocketComponentDetails::SaveAnimationAsset(co int32 BoneIndex = BoneTreeIndex;//AnimSkeleton->GetMeshBoneIndexFromSkeletonBoneIndex(SkeletalMesh, BoneTreeIndex); //int32 ParentIndex = SkeletalMesh->RefSkeleton.GetParentIndex(BoneIndex); FTransform LocalTransform = LocalPoses[BoneIndex]; - + //FTransform LocalTransform = RefSkeleton.GetRefBonePose()[BoneIndex]; FName BoneName = AnimSkeleton->GetReferenceSkeleton().GetBoneName(BoneIndex); diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripScripts/GS_Melee.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripScripts/GS_Melee.cpp index 312f6f4..f0d848f 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripScripts/GS_Melee.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripScripts/GS_Melee.cpp @@ -75,6 +75,9 @@ void UGS_Melee::UpdateDualHandInfo() { if (NumControllers > 1) { + if (!Grip.IsValid()) + continue; + FBPActorGripInformation* GripInfo = Grip.HoldingController->GetGripPtrByID(Grip.GripID); if (GripInfo) { diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/GrippablePhysicsReplication.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/GrippablePhysicsReplication.cpp index d727289..b06da07 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/GrippablePhysicsReplication.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/GrippablePhysicsReplication.cpp @@ -9,7 +9,7 @@ #include UE_INLINE_GENERATED_CPP_BY_NAME(GrippablePhysicsReplication) #include "CoreMinimal.h" -#include "PhysicsEngine\BodyInstance.h" +#include "PhysicsEngine/BodyInstance.h" #include "Components/PrimitiveComponent.h" #include "Components/SkeletalMeshComponent.h" #include "UObject/ObjectMacros.h" diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/HandSocketComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/HandSocketComponent.cpp index 0300123..46b583b 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/HandSocketComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Grippables/HandSocketComponent.cpp @@ -19,6 +19,7 @@ #include "GripMotionControllerComponent.h" //#include "VRGripInterface.h" //#include "VRBPDatatypes.h" +#include "Engine/SkinnedAssetCommon.h" #include "Net/UnrealNetwork.h" #include "Serialization/CustomVersion.h" @@ -396,7 +397,8 @@ bool UHandSocketComponent::GetBlendedPoseSnapShot(FPoseSnapshot& PoseSnapShot, U PoseSnapShot.LocalTransforms.Empty(); TargetMesh->GetBoneNames(PoseSnapShot.BoneNames); - PoseSnapShot.LocalTransforms = TargetMesh->GetSkinnedAsset()->GetSkeleton()->GetRefLocalPoses(); + //PoseSnapShot.LocalTransforms = TargetMesh->GetSkinnedAsset()->GetSkeleton()->GetRefLocalPoses(); + PoseSnapShot.LocalTransforms = TargetMesh->GetSkinnedAsset()->GetRefSkeleton().GetRefBonePose(); FQuat DeltaQuat = FQuat::Identity; FName TargetBoneName = NAME_None; @@ -781,9 +783,11 @@ void UHandSocketComponent::PoseVisualizationToAnimation(bool bForceRefresh) if (!HandTargetAnimation) { // Store local poses for posing - LocalPoses = HandVisualizerComponent->GetSkinnedAsset()->GetSkeleton()->GetRefLocalPoses(); + LocalPoses = HandVisualizerComponent->GetSkinnedAsset()->GetRefSkeleton().GetRefBonePose(); } + + // Check out of the skin cache, the poses don't update otherwise when enabled int32 NumLODs = HandVisualizerComponent->GetNumLODs(); HandVisualizerComponent->SkinCacheUsage.Empty(NumLODs); @@ -840,6 +844,7 @@ void UHandSocketComponent::PoseVisualizationToAnimation(bool bForceRefresh) else { BoneTrans = LocalPoses[i]; + //BoneTrans = HandVisualizerComponent->GetSkinnedAsset()->GetRefSkeleton().GetRefBonePose()[i]; } BoneTrans = BoneTrans * ParentTrans;// *HandVisualizerComponent->GetComponentTransform(); @@ -850,7 +855,6 @@ void UHandSocketComponent::PoseVisualizationToAnimation(bool bForceRefresh) BoneTrans.ConcatenateRotation(DeltaQuat); BoneTrans.NormalizeRotation(); HandVisualizerComponent->SetBoneTransformByName(BonesNames[i], BoneTrans, EBoneSpaces::ComponentSpace); - } if (HandVisualizerComponent && (!bTickedPose || bForceRefresh)) diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Interactibles/VRDialComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Interactibles/VRDialComponent.cpp index 7930efc..91b1359 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Interactibles/VRDialComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Interactibles/VRDialComponent.cpp @@ -278,18 +278,28 @@ void UVRDialComponent::OnGripRelease_Implementation(UGripMotionControllerCompone { this->SetRelativeRotation((FTransform(UVRInteractibleFunctionLibrary::SetAxisValueRot(DialRotationAxis, FMath::GridSnap(CurRotBackEnd, SnapAngleIncrement), FRotator::ZeroRotator)) * InitialRelativeTransform).Rotator()); CurRotBackEnd = FMath::GridSnap(CurRotBackEnd, SnapAngleIncrement); + + if (bUseRollover) + { + CurrentDialAngle = FMath::RoundToFloat(CurRotBackEnd); + } + else + { + CurrentDialAngle = FRotator::ClampAxis(FMath::RoundToFloat(CurRotBackEnd)); + } + } + else + { + // Reset to the snap angle so that it requires full motion to break out of it + CurRotBackEnd = CurrentDialAngle; } - } - - if (bUseRollover) - { - CurrentDialAngle = FMath::RoundToFloat(CurRotBackEnd); } else { - CurrentDialAngle = FRotator::ClampAxis(FMath::RoundToFloat(CurRotBackEnd)); + // Reset to the snap angle so that it requires full motion to break out of it + CurRotBackEnd = CurrentDialAngle; } - + if (!FMath::IsNearlyEqual(LastSnapAngle, CurrentDialAngle)) { ReceiveDialHitSnapAngle(CurrentDialAngle); diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRGameViewportClient.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRGameViewportClient.cpp new file mode 100644 index 0000000..44d9e5a --- /dev/null +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRGameViewportClient.cpp @@ -0,0 +1,143 @@ +// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. + +#include "Misc/VRGameViewportClient.h" +#include UE_INLINE_GENERATED_CPP_BY_NAME(VRGameViewportClient) + +#include "CoreMinimal.h" + + +UVRGameViewportClient::UVRGameViewportClient(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + GameInputMethod = EVRGameInputMethod::GameInput_Default; + bAlsoChangeGamepPadInput = false; +} + +bool UVRGameViewportClient::IsValidGamePadKey(const FKey & InputKey) +{ + if (!bAlsoChangeGamepPadInput) + return false; + + FName KeyCategory = InputKey.GetMenuCategory(); + + return GamepadInputCategories.Contains(KeyCategory); +} + +bool UVRGameViewportClient::EventWindowClosing() +{ + if (BPOnWindowCloseRequested.IsBound()) + { + BPOnWindowCloseRequested.Broadcast(); + } + + if (bIgnoreWindowCloseCommands) + { + return false; + } + + return true; +} + +void UVRGameViewportClient::PostInitProperties() +{ + Super::PostInitProperties(); + + if (GamepadInputCategories.Num() < 1) + { + GamepadInputCategories.Add(FName(TEXT("Gamepad"))); + GamepadInputCategories.Add(FName(TEXT("PS4"))); + GamepadInputCategories.Add(FName(TEXT("XBox One"))); + GamepadInputCategories.Add(FName(TEXT("Touch"))); + GamepadInputCategories.Add(FName(TEXT("Gesture"))); + } + + OnWindowCloseRequested().BindUObject(this, &UVRGameViewportClient::EventWindowClosing); +} + + +bool UVRGameViewportClient::InputKey(const FInputKeyEventArgs& EventArgs) +{ + // Remap the old int32 ControllerId value to the new InputDeviceId + IPlatformInputDeviceMapper& DeviceMapper = IPlatformInputDeviceMapper::Get(); + + // Early out if a gamepad event or ignoring input or is default setup / no GEngine + if(GameInputMethod == EVRGameInputMethod::GameInput_Default || IgnoreInput() || (EventArgs.IsGamepad() && !IsValidGamePadKey(EventArgs.Key))) + return Super::InputKey(EventArgs); + + const int32 NumLocalPlayers = World->GetGameInstance()->GetNumLocalPlayers(); + + // Also early out if number of players is less than 2 + if (NumLocalPlayers < 2) + return Super::InputKey(EventArgs); + + + // Its const so have to copy and send a new one in now that the function signature has changed + FInputKeyEventArgs NewStruct = EventArgs; + + if (GameInputMethod == EVRGameInputMethod::GameInput_KeyboardAndMouseToPlayer2) + { + // keyboard / mouse always go to player 0, so + 1 will be player 2 + NewStruct.ControllerId++; + + FPlatformUserId UserId = PLATFORMUSERID_NONE; + FInputDeviceId DeviceId = INPUTDEVICEID_NONE; + DeviceMapper.RemapControllerIdToPlatformUserAndDevice(NewStruct.ControllerId, UserId, NewStruct.InputDevice); + + return Super::InputKey(NewStruct); + } + else // Shared keyboard and mouse + { + bool bRetVal = false; + for (int32 i = 0; i < NumLocalPlayers; i++) + { + NewStruct.ControllerId = i; + + FPlatformUserId UserId = PLATFORMUSERID_NONE; + FInputDeviceId DeviceId = INPUTDEVICEID_NONE; + DeviceMapper.RemapControllerIdToPlatformUserAndDevice(NewStruct.ControllerId, UserId, NewStruct.InputDevice); + + bRetVal = Super::InputKey(NewStruct) || bRetVal; + } + + return bRetVal; + } +} + +bool UVRGameViewportClient::InputAxis(FViewport* tViewport, FInputDeviceId InputDevice, FKey Key, float Delta, float DeltaTime, int32 NumSamples, bool bGamepad) +{ + // Remap the old int32 ControllerId value to the new InputDeviceId + IPlatformInputDeviceMapper& DeviceMapper = IPlatformInputDeviceMapper::Get(); + + const int32 NumLocalPlayers = World->GetGameInstance()->GetNumLocalPlayers(); + + // Early out if a gamepad or not a mouse event (vr controller) or ignoring input or is default setup / no GEngine + if (((!Key.IsMouseButton() && !bGamepad) || (bGamepad && !IsValidGamePadKey(Key))) || NumLocalPlayers < 2 || GameInputMethod == EVRGameInputMethod::GameInput_Default || IgnoreInput()) + return Super::InputAxis(tViewport, InputDevice, Key, Delta, DeltaTime, NumSamples, bGamepad); + + if (GameInputMethod == EVRGameInputMethod::GameInput_KeyboardAndMouseToPlayer2) + { + // keyboard / mouse always go to player 0, so + 1 will be player 2 + int32 ControllerId = 1; + + FPlatformUserId UserId = PLATFORMUSERID_NONE; + FInputDeviceId DeviceId = INPUTDEVICEID_NONE; + DeviceMapper.RemapControllerIdToPlatformUserAndDevice(ControllerId, UserId, DeviceId); + + return Super::InputAxis(tViewport, DeviceId, Key, Delta, DeltaTime, NumSamples, bGamepad); + } + else // Shared keyboard and mouse + { + bool bRetVal = false; + for (int32 i = 0; i < NumLocalPlayers; i++) + { + FPlatformUserId UserId = PLATFORMUSERID_NONE; + FInputDeviceId DeviceId = INPUTDEVICEID_NONE; + DeviceMapper.RemapControllerIdToPlatformUserAndDevice(i, UserId, DeviceId); + + bRetVal = Super::InputAxis(tViewport, DeviceId, Key, Delta, DeltaTime, NumSamples, bGamepad) || bRetVal; + } + + return bRetVal; + } + +} \ No newline at end of file diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRLogComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRLogComponent.cpp index 9c39b20..bae8fd7 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRLogComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRLogComponent.cpp @@ -4,8 +4,8 @@ #include UE_INLINE_GENERATED_CPP_BY_NAME(VRLogComponent) #include "Engine/Engine.h" -#include "GenericPlatform\GenericPlatformInputDeviceMapper.h" -#include "Engine\GameViewportClient.h" +#include "GenericPlatform/GenericPlatformInputDeviceMapper.h" +#include "Engine/GameViewportClient.h" #include "GlobalRenderResources.h" //#include "Engine/Engine.h" diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRRenderTargetManager.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRRenderTargetManager.cpp index ee7cb86..901c0f0 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRRenderTargetManager.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Misc/VRRenderTargetManager.cpp @@ -7,7 +7,7 @@ #include "GlobalRenderResources.h" #include "Components/ActorComponent.h" #include "Kismet/GameplayStatics.h" -#include "GameFramework\Pawn.h" +#include "GameFramework/Pawn.h" #include "GameFramework/PlayerState.h" #include "GameFramework/PlayerController.h" #include "Engine/TextureRenderTarget2D.h" diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Mover/VRMoverComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Mover/VRMoverComponent.cpp index e6bb8ba..d9abaa8 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Mover/VRMoverComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/Mover/VRMoverComponent.cpp @@ -3,9 +3,9 @@ #include UE_INLINE_GENERATED_CPP_BY_NAME(VRMoverComponent) #include "VRBPDatatypes.h" -#include "DefaultMovementSet\LayeredMoves\BasicLayeredMoves.h" +#include "DefaultMovementSet/LayeredMoves/BasicLayeredMoves.h" #include "Engine/BlueprintGeneratedClass.h" -#include "Curves\CurveFloat.h" // Delete after tests, only needed for cloning +#include "Curves/CurveFloat.h" // Delete after tests, only needed for cloning #include "ReplicatedVRCameraComponent.h" DEFINE_LOG_CATEGORY(LogVRMoverComponent); diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBPDatatypes.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBPDatatypes.cpp index 30b9c3d..82cbd35 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBPDatatypes.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBPDatatypes.cpp @@ -5,7 +5,7 @@ #include "CoreMinimal.h" #include "VRGlobalSettings.h" -#include "Components\PrimitiveComponent.h" +#include "Components/PrimitiveComponent.h" #include "HAL/IConsoleManager.h" #include "Chaos/ChaosEngineInterface.h" diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBaseCharacterMovementComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBaseCharacterMovementComponent.cpp index ea4e5d6..db3bddd 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBaseCharacterMovementComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRBaseCharacterMovementComponent.cpp @@ -19,7 +19,7 @@ #include "Navigation/PathFollowingComponent.h" #include "VRPlayerController.h" #include "GameFramework/PhysicsVolume.h" -#include "Animation\AnimInstance.h" +#include "Animation/AnimInstance.h" DEFINE_LOG_CATEGORY(LogVRBaseCharacterMovement); diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRRootComponent.cpp b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRRootComponent.cpp index 2da97a2..32e9e52 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRRootComponent.cpp +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/VRRootComponent.cpp @@ -506,6 +506,8 @@ void UVRRootComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, if (IsLocallyControlled()) { + bool bHadBadTracking = false; + if (owningVRChar && owningVRChar->bTrackingPaused) { curCameraLoc = owningVRChar->PausedTrackingLoc; @@ -524,6 +526,7 @@ void UVRRootComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, { curCameraLoc = lastCameraLoc; curCameraRot = lastCameraRot; + bHadBadTracking = true; } else { @@ -562,7 +565,7 @@ void UVRRootComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, // Can adjust the relative tolerances to remove jitter and some update processing - if (!bRetainRoomscale || (!curCameraLoc.Equals(lastCameraLoc, 0.01f) || !curCameraRot.Equals(lastCameraRot, 0.01f))) + if (!bHadBadTracking && (!bRetainRoomscale || (!curCameraLoc.Equals(lastCameraLoc, 0.01f) || !curCameraRot.Equals(lastCameraRot, 0.01f)))) { // Also calculate vector of movement for the movement component FVector LastPosition = OffsetComponentToWorld.GetLocation(); @@ -638,7 +641,6 @@ void UVRRootComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, } else { - // Run this first so we get full fidelity on the relative space calculation FVector NewLocation = StoredCameraRotOffset.RotateVector(FVector(VRCapsuleOffset.X, VRCapsuleOffset.Y, 0.0f)) + curCameraLoc; FVector PlanerLocation = NewLocation - lastCameraLoc; @@ -1545,7 +1547,7 @@ bool UVRRootComponent::IsLocallyControlled() const GenerateOffsetToWorld(); }*/ - if (!owningVRChar->bRetainRoomscale && !IsLocallyControlled()) + if (!owningVRChar->bRetainRoomscale && !IsLocallyControlled() && !IsNetMode(NM_DedicatedServer)) { // Don't smooth this change in mesh position FNetworkPredictionData_Client_Character* ClientData = owningVRChar->GetCharacterMovement()->GetPredictionData_Client_Character(); diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Interactibles/VRLeverComponent.h b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Interactibles/VRLeverComponent.h index 991dd6e..8fbce3a 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Interactibles/VRLeverComponent.h +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Interactibles/VRLeverComponent.h @@ -169,7 +169,7 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VRLeverComponent|Momentum Settings", meta = (ClampMin = "0.0", UIMin = "0.0")) float MaxLeverMomentum; - UPROPERTY(BlueprintReadOnly, Category = "VRLeverComponent") + UPROPERTY(BlueprintReadWrite, Category = "VRLeverComponent") bool bIsLerping; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GripSettings") diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Misc/VRGameViewportClient.h b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Misc/VRGameViewportClient.h index b0cb73e..61f52fd 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Misc/VRGameViewportClient.h +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/Misc/VRGameViewportClient.h @@ -54,140 +54,12 @@ public: UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "VRExpansionPlugin") TArray GamepadInputCategories; - bool IsValidGamePadKey(const FKey & InputKey) - { - if (!bAlsoChangeGamepPadInput) - return false; - - FName KeyCategory = InputKey.GetMenuCategory(); - - return GamepadInputCategories.Contains(KeyCategory); - } + bool IsValidGamePadKey(const FKey& InputKey); UFUNCTION() - bool EventWindowClosing() - { - if (BPOnWindowCloseRequested.IsBound()) - { - BPOnWindowCloseRequested.Broadcast(); - } - - if (bIgnoreWindowCloseCommands) - { - return false; - } - - return true; - } + bool EventWindowClosing(); - virtual void PostInitProperties() override - { - Super::PostInitProperties(); - - if (GamepadInputCategories.Num() < 1) - { - GamepadInputCategories.Add(FName(TEXT("Gamepad"))); - GamepadInputCategories.Add(FName(TEXT("PS4"))); - GamepadInputCategories.Add(FName(TEXT("XBox One"))); - GamepadInputCategories.Add(FName(TEXT("Touch"))); - GamepadInputCategories.Add(FName(TEXT("Gesture"))); - } - - OnWindowCloseRequested().BindUObject(this, &UVRGameViewportClient::EventWindowClosing); - } - - - virtual bool InputKey(const FInputKeyEventArgs& EventArgs) override - { - // Remap the old int32 ControllerId value to the new InputDeviceId - IPlatformInputDeviceMapper& DeviceMapper = IPlatformInputDeviceMapper::Get(); - - // Early out if a gamepad event or ignoring input or is default setup / no GEngine - if(GameInputMethod == EVRGameInputMethod::GameInput_Default || IgnoreInput() || (EventArgs.IsGamepad() && !IsValidGamePadKey(EventArgs.Key))) - return Super::InputKey(EventArgs); - - const int32 NumLocalPlayers = World->GetGameInstance()->GetNumLocalPlayers(); - - // Also early out if number of players is less than 2 - if (NumLocalPlayers < 2) - return Super::InputKey(EventArgs); - - - // Its const so have to copy and send a new one in now that the function signature has changed - FInputKeyEventArgs NewStruct = EventArgs; - - if (GameInputMethod == EVRGameInputMethod::GameInput_KeyboardAndMouseToPlayer2) - { - // keyboard / mouse always go to player 0, so + 1 will be player 2 - NewStruct.ControllerId++; - - FPlatformUserId UserId = PLATFORMUSERID_NONE; - FInputDeviceId DeviceId = INPUTDEVICEID_NONE; - DeviceMapper.RemapControllerIdToPlatformUserAndDevice(NewStruct.ControllerId, UserId, NewStruct.InputDevice); - - return Super::InputKey(NewStruct); - } - else // Shared keyboard and mouse - { - bool bRetVal = false; - for (int32 i = 0; i < NumLocalPlayers; i++) - { - NewStruct.ControllerId = i; - - FPlatformUserId UserId = PLATFORMUSERID_NONE; - FInputDeviceId DeviceId = INPUTDEVICEID_NONE; - DeviceMapper.RemapControllerIdToPlatformUserAndDevice(NewStruct.ControllerId, UserId, NewStruct.InputDevice); - - bRetVal = Super::InputKey(NewStruct) || bRetVal; - } - - return bRetVal; - } - } - - virtual bool InputAxis(FViewport* tViewport, FInputDeviceId InputDevice, FKey Key, float Delta, float DeltaTime, int32 NumSamples = 1, bool bGamepad = false) override - { - // Remap the old int32 ControllerId value to the new InputDeviceId - IPlatformInputDeviceMapper& DeviceMapper = IPlatformInputDeviceMapper::Get(); - - const int32 NumLocalPlayers = World->GetGameInstance()->GetNumLocalPlayers(); - - // Early out if a gamepad or not a mouse event (vr controller) or ignoring input or is default setup / no GEngine - if (((!Key.IsMouseButton() && !bGamepad) || (bGamepad && !IsValidGamePadKey(Key))) || NumLocalPlayers < 2 || GameInputMethod == EVRGameInputMethod::GameInput_Default || IgnoreInput()) - return Super::InputAxis(tViewport, InputDevice, Key, Delta, DeltaTime, NumSamples, bGamepad); - - if (GameInputMethod == EVRGameInputMethod::GameInput_KeyboardAndMouseToPlayer2) - { - // keyboard / mouse always go to player 0, so + 1 will be player 2 - int32 ControllerId = 1; - - FPlatformUserId UserId = PLATFORMUSERID_NONE; - FInputDeviceId DeviceId = INPUTDEVICEID_NONE; - DeviceMapper.RemapControllerIdToPlatformUserAndDevice(ControllerId, UserId, DeviceId); - - return Super::InputAxis(tViewport, DeviceId, Key, Delta, DeltaTime, NumSamples, bGamepad); - } - else // Shared keyboard and mouse - { - bool bRetVal = false; - for (int32 i = 0; i < NumLocalPlayers; i++) - { - FPlatformUserId UserId = PLATFORMUSERID_NONE; - FInputDeviceId DeviceId = INPUTDEVICEID_NONE; - DeviceMapper.RemapControllerIdToPlatformUserAndDevice(i, UserId, DeviceId); - - bRetVal = Super::InputAxis(tViewport, DeviceId, Key, Delta, DeltaTime, NumSamples, bGamepad) || bRetVal; - } - - return bRetVal; - } - - } -}; - -UVRGameViewportClient::UVRGameViewportClient(const FObjectInitializer& ObjectInitializer) - : Super(ObjectInitializer) -{ - GameInputMethod = EVRGameInputMethod::GameInput_Default; - bAlsoChangeGamepPadInput = false; -} \ No newline at end of file + virtual void PostInitProperties() override; + virtual bool InputKey(const FInputKeyEventArgs& EventArgs) override; + virtual bool InputAxis(FViewport* tViewport, FInputDeviceId InputDevice, FKey Key, float Delta, float DeltaTime, int32 NumSamples = 1, bool bGamepad = false) override; +}; \ No newline at end of file diff --git a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRGestureComponent.h b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRGestureComponent.h index 0634221..f594471 100644 --- a/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRGestureComponent.h +++ b/VIRTUOS_ExpansionPluginTests/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRGestureComponent.h @@ -6,7 +6,7 @@ //#include "Engine/Engine.h" #include "VRBPDatatypes.h" #include "Engine/DataAsset.h" -#include "Components\SceneComponent.h" +#include "Components/SceneComponent.h" //#include "Engine/EngineTypes.h" //#include "Engine/EngineBaseTypes.h"