Implemented Vaulting Fix without Animations

This commit is contained in:
Rafal Swierczek 2024-01-12 16:18:40 +00:00
parent 5afd4bfe31
commit c25cbe5977
19 changed files with 97 additions and 62 deletions

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="vcsConfiguration" value="2" />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@ -8,26 +8,17 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d360942f-2e59-47ef-8164-c79fbf7dd251" name="Changes" comment=""> <list default="true" id="d360942f-2e59-47ef-8164-c79fbf7dd251" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/.gitignore" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/discord-ij.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/encodings.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/indexLayout.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/misc.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta.dir/.idea/vcs.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/encodings.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/indexLayout.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/vcs.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/FirstPerson/GunMechanicWorld.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/FirstPerson/GunMechanicWorld.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/FirstPersonArms/Animations/NewFirstPerson_AnimBP.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/FirstPersonArms/Animations/NewFirstPerson_AnimBP.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/Levels/TrainingFacility.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/TrainingFacility.umap" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/Levels/TrainingFacility.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/TrainingFacility.umap" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/StarterContent/Particles/P_Ambient_Dust.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/Particles/P_Ambient_Dust.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Plugins/VaultIt/Content/Anims/FirstPerson_AnimBP.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Plugins/VaultIt/Content/Anims/FirstPerson_AnimBP.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Plugins/VaultIt/Content/Anims/AnimsVaultFP/CR_VaultIt_FP_BothHands.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Plugins/VaultIt/Content/Anims/AnimsVaultFP/CR_VaultIt_FP_BothHands.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Plugins/VaultIt/Content/Blueprints/BP_FirstPersonCharacter.uasset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Plugins/VaultIt/Content/Blueprints/BP_ThirdPersonGameMode.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Plugins/VaultIt/Content/Blueprints/BP_ThirdPersonGameMode.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Plugins/VaultIt/Content/Maps/ThirdPersonExampleMap.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Plugins/VaultIt/Content/Maps/ThirdPersonExampleMap.umap" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterAbilityBase.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterAbilityBase.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MyVICharacterBase.h" afterDir="false" />
</list> </list>
@ -42,36 +33,36 @@
<component name="MarkdownSettingsMigration"> <component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" /> <option name="stateVersion" value="1" />
</component> </component>
<component name="ProjectColorInfo"><![CDATA[{ <component name="ProjectColorInfo">{
"customColor": "", &quot;customColor&quot;: &quot;&quot;,
"associatedIndex": 2 &quot;associatedIndex&quot;: 2
}]]></component> }</component>
<component name="ProjectId" id="2anGr7EBwnf66ySbAuSjb4RMO0p" /> <component name="ProjectId" id="2anGr7EBwnf66ySbAuSjb4RMO0p" />
<component name="ProjectViewState"> <component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent">{
"keyToString": { &quot;keyToString&quot;: {
"C++ Project.EndlessVendetta.executor": "Run", &quot;C++ Project.EndlessVendetta.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.OpenProjectViewOnStart": "true", &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
"RunOnceActivity.ShowReadmeOnStart": "true", &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
"git-widget-placeholder": "GunRange-2.0", &quot;git-widget-placeholder&quot;: &quot;GunRange-2.0&quot;,
"node.js.detected.package.eslint": "true", &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
"node.js.detected.package.tslint": "true", &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
"node.js.selected.package.eslint": "(autodetect)", &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
"node.js.selected.package.tslint": "(autodetect)", &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
"nodejs_package_manager_path": "npm", &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
"vue.rearranger.settings.migration": "true" &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}, },
"keyToStringList": { &quot;keyToStringList&quot;: {
"rider.external.source.directories": [ &quot;rider.external.source.directories&quot;: [
"C:\\Users\\Rafal\\AppData\\Roaming\\JetBrains\\Rider2023.3\\resharper-host\\DecompilerCache", &quot;C:\\Users\\Rafal\\AppData\\Roaming\\JetBrains\\Rider2023.3\\resharper-host\\DecompilerCache&quot;,
"C:\\Users\\Rafal\\AppData\\Roaming\\JetBrains\\Rider2023.3\\resharper-host\\SourcesCache", &quot;C:\\Users\\Rafal\\AppData\\Roaming\\JetBrains\\Rider2023.3\\resharper-host\\SourcesCache&quot;,
"C:\\Users\\Rafal\\AppData\\Local\\Symbols\\src" &quot;C:\\Users\\Rafal\\AppData\\Local\\Symbols\\src&quot;
] ]
} }
}]]></component> }</component>
<component name="RunManager"> <component name="RunManager">
<configuration name="EndlessVendetta" type="CppProject" factoryName="C++ Project"> <configuration name="EndlessVendetta" type="CppProject" factoryName="C++ Project">
<configuration_1> <configuration_1>
@ -144,6 +135,7 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1704947128241</updated> <updated>1704947128241</updated>
<workItem from="1704947131131" duration="5567000" /> <workItem from="1704947131131" duration="5567000" />
<workItem from="1705055116614" duration="7901000" />
</task> </task>
<servers /> <servers />
</component> </component>

BIN
EndlessVendetta/Content/BountySystem/testintesting.uasset (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:06d7c8221d10354ec1e9be8f31b4d84447688c99f651d8e702849bac8846c4e8 oid sha256:2cb0baa3cb244f0c771bf7f27cd6664ec6fd72000d44ba61106bcb06d8373c17
size 79266 size 79838

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7db21551a3a56def353e10eb4a8429d0980049797fd36509f2096a18a79c6f39 oid sha256:2c78df31eabfc41ac0e3ae48be1a5b9f3750579d4cae774133a9da9f877e2f13
size 679253 size 680775

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:016cace4ca772f5945f13571260dfb094c56cf8abbd05c91dbf504546f0c1c96 oid sha256:aecb50fea2c0d71ab625d938c375ba641ce01e27c30dbbe63cd6c931a83d8ee0
size 14831 size 14831

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edaf3b6429e17258e879c82ded01267c2b2ef0ea5ef9b90566fbf2d131ff6d04
size 284169

View File

@ -50,6 +50,18 @@ void AEndlessVendettaCharacter::BeginPlay()
// Call the base class // Call the base class
Super::BeginPlay(); Super::BeginPlay();
// Set the fp skeletal mesh for the vault it plugin to use
TArray<UActorComponent*> MeshActComps = GetComponentsByClass(USkeletalMeshComponent::StaticClass());
for (auto MeshActorComponent : MeshActComps)
{
USkeletalMeshComponent* MeshSkeletalComp = Cast<USkeletalMeshComponent>(MeshActorComponent);
if (MeshSkeletalComp->ComponentHasTag("FP_Mesh"))
{
FP_SkeletalMesh = MeshSkeletalComp;
break;
}
}
//Add Input Mapping Context //Add Input Mapping Context
if (APlayerController* PlayerController = Cast<APlayerController>(Controller)) if (APlayerController* PlayerController = Cast<APlayerController>(Controller))
{ {
@ -642,4 +654,4 @@ void AEndlessVendettaCharacter::UpdateInventorySize(int Cols, int Rows)
{ {
UE_LOG(LogTemp, Warning, TEXT("No Vaild Inventory")); UE_LOG(LogTemp, Warning, TEXT("No Vaild Inventory"));
} }
} }

View File

@ -25,11 +25,13 @@ UCLASS(config=Game)
class AEndlessVendettaCharacter : public ACharacter class AEndlessVendettaCharacter : public ACharacter
{ {
GENERATED_BODY() GENERATED_BODY()
protected:
/** Pawn mesh: 1st person view (arms; seen only by self) */ /** Pawn mesh: 1st person view (arms; seen only by self) */
UPROPERTY(VisibleDefaultsOnly, Category=Mesh) UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Mesh)
USkeletalMeshComponent* Mesh1P; USkeletalMeshComponent* Mesh1P;
private:
/** First person camera */ /** First person camera */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
UCameraComponent* FirstPersonCameraComponent; UCameraComponent* FirstPersonCameraComponent;
@ -203,11 +205,17 @@ protected:
void Interact(); void Interact();
protected: protected:
// Used by vault it plugin to run vaulting animations
USkeletalMeshComponent* FP_SkeletalMesh = nullptr;
// APawn interface // APawn interface
virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override; virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override;
// End of APawn interface // End of APawn interface
public: public:
UFUNCTION(BlueprintCallable, Category = "Stealth") UFUNCTION(BlueprintCallable, Category = "Stealth")
void SetCrouch(); void SetCrouch();
UFUNCTION(BlueprintCallable, Category = "Stealth") UFUNCTION(BlueprintCallable, Category = "Stealth")

View File

@ -211,7 +211,7 @@ bool AMyVICharacterBase::CanVault_Implementation() const
} }
// Animation instance is required to play vault montage // Animation instance is required to play vault montage
if (!GetMesh() || !GetMesh()->GetAnimInstance()) if (!IsValid(FP_SkeletalMesh) || !IsValid(FP_SkeletalMesh->GetAnimInstance()))
{ {
UE_LOG(LogTemp, Warning, TEXT("Animation instance is required to play vault montage")); UE_LOG(LogTemp, Warning, TEXT("Animation instance is required to play vault montage"));
return false; return false;

View File

@ -100,7 +100,7 @@ public:
virtual UVIPawnVaultComponent* GetPawnVaultComponent_Implementation() const override; virtual UVIPawnVaultComponent* GetPawnVaultComponent_Implementation() const override;
virtual UMotionWarpingComponent* GetMotionWarpingComponent_Implementation() const override; virtual UMotionWarpingComponent* GetMotionWarpingComponent_Implementation() const override;
virtual USkeletalMeshComponent* GetMeshForVaultMontage_Implementation() const override { return GetMesh(); } virtual USkeletalMeshComponent* GetMeshForVaultMontage_Implementation() const override { return FP_SkeletalMesh; }
virtual FVIAnimSet GetVaultAnimSet_Implementation() const override; virtual FVIAnimSet GetVaultAnimSet_Implementation() const override;
virtual FVITraceSettings GetVaultTraceSettings_Implementation() const override; virtual FVITraceSettings GetVaultTraceSettings_Implementation() const override;
virtual FVector GetVaultDirection_Implementation() const override; virtual FVector GetVaultDirection_Implementation() const override;