diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index 2d4f7bc00..509ad1437 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -49,3 +49,61 @@ r.DefaultFeature.AntiAliasing=3 [/Script/UnrealEd.CookerSettings] cook.AllowCookedDataInEditorBuilds=False +[/Script/Engine.CollisionProfile] +-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) +-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) +-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) +-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) +-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) +-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) +-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) +-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) +-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) ++Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") ++Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") ++Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") ++Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") ++Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") ++Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") ++Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") ++Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") ++Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") ++Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") ++Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") ++Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") ++Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") ++Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="Hitbox",CollisionEnabled=QueryOnly,bCanModify=True,ObjectTypeName="HitboxChannel",CustomResponses=((Channel="WorldStatic",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Pawn",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Character\'s hitboxes") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Ignore,bTraceType=False,bStaticObject=False,Name="HitboxChannel") +-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") +-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") +-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") +-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") +-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") ++ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") ++ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") ++ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") ++ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") ++ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") +-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") +-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") +-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") +-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") ++CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") ++CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") ++CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") ++CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") + diff --git a/Content/Characters/Anarchist/Mesh/tm_anarchist.uasset b/Content/Characters/Anarchist/Mesh/tm_anarchist.uasset index 9482528b5..f54efd9b8 100644 Binary files a/Content/Characters/Anarchist/Mesh/tm_anarchist.uasset and b/Content/Characters/Anarchist/Mesh/tm_anarchist.uasset differ diff --git a/Content/Characters/Anarchist/Ragdoll/tm_anarchist.uasset b/Content/Characters/Anarchist/Ragdoll/tm_anarchist.uasset deleted file mode 100644 index da513134c..000000000 Binary files a/Content/Characters/Anarchist/Ragdoll/tm_anarchist.uasset and /dev/null differ diff --git a/Content/Characters/Blueprints/BP_Cloud9CertifiedBot.uasset b/Content/Characters/Blueprints/BP_Cloud9CertifiedBot.uasset index 1fce9b952..d4436bb4d 100644 Binary files a/Content/Characters/Blueprints/BP_Cloud9CertifiedBot.uasset and b/Content/Characters/Blueprints/BP_Cloud9CertifiedBot.uasset differ diff --git a/Content/Characters/Boss/Mesh/tm_phoenix_heavy.uasset b/Content/Characters/Boss/Mesh/tm_phoenix_heavy.uasset index ec0e1d81f..a85de403c 100644 Binary files a/Content/Characters/Boss/Mesh/tm_phoenix_heavy.uasset and b/Content/Characters/Boss/Mesh/tm_phoenix_heavy.uasset differ diff --git a/Content/Characters/Boss/Ragdoll/tm_phoenix_heavy.uasset b/Content/Characters/Boss/Ragdoll/tm_phoenix_heavy.uasset deleted file mode 100644 index c5e3f46e3..000000000 Binary files a/Content/Characters/Boss/Ragdoll/tm_phoenix_heavy.uasset and /dev/null differ diff --git a/Content/Characters/Common/Montages/Death/a_death_pose_head_S_Montage.uasset b/Content/Characters/Common/Montages/Death/a_death_pose_head_S_Montage.uasset index d2f42af26..4bcee24fc 100644 Binary files a/Content/Characters/Common/Montages/Death/a_death_pose_head_S_Montage.uasset and b/Content/Characters/Common/Montages/Death/a_death_pose_head_S_Montage.uasset differ diff --git a/Content/Characters/Common/Skeleton/Cloud9CharacterPhysics.uasset b/Content/Characters/Common/Skeleton/Cloud9CharacterPhysics.uasset new file mode 100644 index 000000000..acc3e57b0 Binary files /dev/null and b/Content/Characters/Common/Skeleton/Cloud9CharacterPhysics.uasset differ diff --git a/Content/Characters/Hawaii/Mesh/tm_jungle_raider_varianta.uasset b/Content/Characters/Hawaii/Mesh/tm_jungle_raider_varianta.uasset index 5fe8cea04..547894927 100644 Binary files a/Content/Characters/Hawaii/Mesh/tm_jungle_raider_varianta.uasset and b/Content/Characters/Hawaii/Mesh/tm_jungle_raider_varianta.uasset differ diff --git a/Content/Characters/Hawaii/Ragdoll/tm_jungle_raider_varianta.uasset b/Content/Characters/Hawaii/Ragdoll/tm_jungle_raider_varianta.uasset deleted file mode 100644 index f6a75e888..000000000 Binary files a/Content/Characters/Hawaii/Ragdoll/tm_jungle_raider_varianta.uasset and /dev/null differ diff --git a/Content/Characters/Heavy/Mesh/ctm_heavy.uasset b/Content/Characters/Heavy/Mesh/ctm_heavy.uasset index 009b28e49..4d51cf012 100644 Binary files a/Content/Characters/Heavy/Mesh/ctm_heavy.uasset and b/Content/Characters/Heavy/Mesh/ctm_heavy.uasset differ diff --git a/Content/Characters/Heavy/Ragdoll/ctm_heavy.uasset b/Content/Characters/Heavy/Ragdoll/ctm_heavy.uasset deleted file mode 100644 index 8615259de..000000000 Binary files a/Content/Characters/Heavy/Ragdoll/ctm_heavy.uasset and /dev/null differ diff --git a/Content/Characters/JungleRaider/Mesh/tm_jungle_raider_variantb2.uasset b/Content/Characters/JungleRaider/Mesh/tm_jungle_raider_variantb2.uasset index c8a914e78..e109321d4 100644 Binary files a/Content/Characters/JungleRaider/Mesh/tm_jungle_raider_variantb2.uasset and b/Content/Characters/JungleRaider/Mesh/tm_jungle_raider_variantb2.uasset differ diff --git a/Content/Characters/JungleRaider/Ragdoll/tm_jungle_raider_variantb2.uasset b/Content/Characters/JungleRaider/Ragdoll/tm_jungle_raider_variantb2.uasset deleted file mode 100644 index f7966fb97..000000000 Binary files a/Content/Characters/JungleRaider/Ragdoll/tm_jungle_raider_variantb2.uasset and /dev/null differ diff --git a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_balaclava_varianta.uasset b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_balaclava_varianta.uasset index d4da7fa93..0730f3b3b 100644 Binary files a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_balaclava_varianta.uasset and b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_balaclava_varianta.uasset differ diff --git a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_body_variante.uasset b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_body_variante.uasset index 432ef92bb..02d72d0c9 100644 Binary files a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_body_variante.uasset and b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_body_variante.uasset differ diff --git a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_legs_variantb.uasset b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_legs_variantb.uasset index 47209ef4d..5263ba0aa 100644 Binary files a/Content/Characters/Phoenix/Materials/tm_phoenix_v2_legs_variantb.uasset and b/Content/Characters/Phoenix/Materials/tm_phoenix_v2_legs_variantb.uasset differ diff --git a/Content/Characters/Phoenix/Mesh/tm_phoenix.uasset b/Content/Characters/Phoenix/Mesh/tm_phoenix.uasset index 94139d454..3f339b9df 100644 Binary files a/Content/Characters/Phoenix/Mesh/tm_phoenix.uasset and b/Content/Characters/Phoenix/Mesh/tm_phoenix.uasset differ diff --git a/Content/Characters/Phoenix/Ragdoll/tm_phoenix.uasset b/Content/Characters/Phoenix/Ragdoll/tm_phoenix.uasset deleted file mode 100644 index 7a2845a2a..000000000 Binary files a/Content/Characters/Phoenix/Ragdoll/tm_phoenix.uasset and /dev/null differ diff --git a/Content/Characters/Professional/Mesh/tm_professional_varf.uasset b/Content/Characters/Professional/Mesh/tm_professional_varf.uasset index 13cd3005c..e6f72f3a9 100644 Binary files a/Content/Characters/Professional/Mesh/tm_professional_varf.uasset and b/Content/Characters/Professional/Mesh/tm_professional_varf.uasset differ diff --git a/Content/Characters/Professional/Ragdoll/tm_professional_varf.uasset b/Content/Characters/Professional/Ragdoll/tm_professional_varf.uasset deleted file mode 100644 index f45776b05..000000000 Binary files a/Content/Characters/Professional/Ragdoll/tm_professional_varf.uasset and /dev/null differ diff --git a/Content/Characters/Sas/Mesh/ctm_sas_varianta.uasset b/Content/Characters/Sas/Mesh/ctm_sas_varianta.uasset index 41903c63b..88f914b21 100644 Binary files a/Content/Characters/Sas/Mesh/ctm_sas_varianta.uasset and b/Content/Characters/Sas/Mesh/ctm_sas_varianta.uasset differ diff --git a/Content/Characters/Sas/Physics/ctm_sas_varianta.uasset b/Content/Characters/Sas/Physics/ctm_sas_varianta.uasset deleted file mode 100644 index 22f82f4fe..000000000 Binary files a/Content/Characters/Sas/Physics/ctm_sas_varianta.uasset and /dev/null differ diff --git a/Content/Maps/warmup.umap b/Content/Maps/warmup.umap index 435c8feeb..1378c92f5 100644 Binary files a/Content/Maps/warmup.umap and b/Content/Maps/warmup.umap differ diff --git a/Content/Weapons/WeaponTableDefinitions.uasset b/Content/Weapons/WeaponTableDefinitions.uasset index 8b78188b5..6a13e7232 100644 Binary files a/Content/Weapons/WeaponTableDefinitions.uasset and b/Content/Weapons/WeaponTableDefinitions.uasset differ diff --git a/Source/Cloud9/Character/Cloud9Character.cpp b/Source/Cloud9/Character/Cloud9Character.cpp index f95ed4d34..4bf470567 100644 --- a/Source/Cloud9/Character/Cloud9Character.cpp +++ b/Source/Cloud9/Character/Cloud9Character.cpp @@ -85,7 +85,7 @@ ACloud9Character::ACloud9Character(const FObjectInitializer& ObjectInitializer) TopDownCameraComponent->SetupAttachment(CameraBoom, USpringArmComponent::SocketName); TopDownCameraComponent->bUsePawnControlRotation = false; // Camera does not rotate relative to arm - let MyMesh = GetMesh(); + USkeletalMeshComponent* MyMesh = GetMesh(); MyMesh->SetRelativeLocation({0.0f, 0.0f, -CharacterHeight}); MyMesh->SetRelativeRotation({0.0f, CharacterRotationYaw, 0.0f}); @@ -273,24 +273,16 @@ void ACloud9Character::UseObject() void ACloud9Character::OnCharacterDie(AActor* Actor) { - if (let DeathAnimation = DeathAnimations | ETContainer::Random{}) + if (let MyCapsuleComponent = GetCapsuleComponent(); IsValid(MyCapsuleComponent)) { - AnimationComponent->PlayMontage(*DeathAnimation); - let MyMesh = GetMesh(); - MyMesh->SetAnimationMode(EAnimationMode::AnimationSingleNode); - // MyMesh->SetAnimation(*DeathAnimation); - MyMesh->SetCollisionEnabled(ECollisionEnabled::PhysicsOnly); - MyMesh->SetSimulatePhysics(true); - // GetWorld() | EUWorld::AsyncAfter{ - // [this] - // { - // let MyMesh = GetMesh(); - // MyMesh->SetCollisionEnabled(ECollisionEnabled::PhysicsOnly); - // MyMesh->SetSimulatePhysics(true); - // }, - // 0.2f - // }; + MyCapsuleComponent->DestroyComponent(); } + + let MyMesh = GetMesh(); + MyMesh->SetMobility(EComponentMobility::Movable); + MyMesh->SetSimulatePhysics(true); + MyMesh->SetCollisionEnabled(ECollisionEnabled::PhysicsOnly); + MyMesh->SetCollisionProfileName(COLLISION_PROFILE_RAGDOLL); } void ACloud9Character::OnConstruction(const FTransform& Transform) @@ -313,7 +305,7 @@ void ACloud9Character::OnConstruction(const FTransform& Transform) CursorToWorld->DecalSize = FVector(16.0f, 32.0f, 32.0f); } - if (let MyMesh = GetMesh(); IsValid(MyMesh) && not CameraTargetBoneName.IsNone()) + if (let MyMesh = GetMesh(); IsValid(MyMesh) and not CameraTargetBoneName.IsNone()) { let HeadBoneLocation = MyMesh->GetBoneLocation(CameraTargetBoneName, EBoneSpaces::WorldSpace); log(Display, "Setup CameraBoom = %s", *HeadBoneLocation.ToString()); @@ -321,6 +313,35 @@ void ACloud9Character::OnConstruction(const FTransform& Transform) MyMesh->bCastDynamicShadow = true; MyMesh->bAffectDynamicIndirectLighting = true; + MyMesh->SetCollisionProfileName(COLLISION_PROFILE_HITBOX); + +#ifdef USE_PHYSICAL_ASSET_HITBOX + // TODO: Make same hit boxes for all character's type - currently disabled + let PhysicsAsset = MyMesh->GetPhysicsAsset(); + for (let BodySetup : PhysicsAsset->SkeletalBodySetups) + { + let AggGeom = BodySetup->AggGeom; + for (let& Capsule : AggGeom.SphylElems) + { + let HitBox = NewObject( + MyMesh, + UCapsuleComponent::StaticClass(), + Capsule.GetName()); + + HitBox->RegisterComponent(); + HitBox->AttachToComponent(MyMesh, FAttachmentTransformRules::KeepRelativeTransform, Capsule.GetName()); + + HitBox->SetCapsuleSize( + Capsule.GetScaledRadius(Transform.GetScale3D()), + Capsule.GetScaledHalfLength(Transform.GetScale3D())); + HitBox->SetRelativeTransform(Capsule.GetTransform()); + HitBox->SetCollisionProfileName(TRACE_HITBOX); + HitBox->CreationMethod = EComponentCreationMethod::UserConstructionScript; + + log(Error, "Hitbox registered = %s [%f]", *HitBox->GetName(), HitBox->GetUnscaledCapsuleRadius()); + } + } +#endif } } diff --git a/Source/Cloud9/Character/Cloud9Character.h b/Source/Cloud9/Character/Cloud9Character.h index 8ef57ab41..493f33bd7 100644 --- a/Source/Cloud9/Character/Cloud9Character.h +++ b/Source/Cloud9/Character/Cloud9Character.h @@ -114,11 +114,8 @@ class ACloud9Character : public ACharacter UPROPERTY(VisibleAnywhere, BlueprintReadOnly) float ViewVerticalRotation; - UPROPERTY(EditDefaultsOnly, Category=Animation) - TArray DeathAnimations; - private: - // TODO: Move to GameInstance + // TODO: Move to decals asset UPROPERTY(EditDefaultsOnly) UMaterial* CursorDecal; diff --git a/Source/Cloud9/Cloud9.h b/Source/Cloud9/Cloud9.h index e2b148fce..d50e6cd7c 100644 --- a/Source/Cloud9/Cloud9.h +++ b/Source/Cloud9/Cloud9.h @@ -26,6 +26,8 @@ #include "CoreMinimal.h" // TODO: should be reworked somehow ... TRACE_CHANNEL -#define TRACE_CHANNEL ECC_PhysicsBody +#define TRACE_CHANNEL ECC_Visibility +#define COLLISION_PROFILE_HITBOX "Hitbox" +#define COLLISION_PROFILE_RAGDOLL "Ragdoll" DECLARE_LOG_CATEGORY_EXTERN(LogCloud9, Log, All); diff --git a/Source/Cloud9/Weapon/Classes/Cloud9WeaponFirearm.cpp b/Source/Cloud9/Weapon/Classes/Cloud9WeaponFirearm.cpp index 43f115caa..c95bd4658 100644 --- a/Source/Cloud9/Weapon/Classes/Cloud9WeaponFirearm.cpp +++ b/Source/Cloud9/Weapon/Classes/Cloud9WeaponFirearm.cpp @@ -440,10 +440,10 @@ EFirearmFireStatus ACloud9WeaponFirearm::Fire( UDamageType::StaticClass() ); - if (Target->IsSimulatingPhysics() and Target->Mobility == EComponentMobility::Movable) + if (Target.IsValid() and Target->IsSimulatingPhysics() and Target->Mobility == EComponentMobility::Movable) { let Velocity = WeaponInfo->Damage * FirearmCommonData.ImpulseMultiplier * Direction; - Target->AddImpulse(Velocity, NAME_None, true); + Target->AddImpulseAtLocation(Velocity, LineHit.Location, LineHit.BoneName); } return EFirearmFireStatus::Success;