182 - Hit Boxes
This commit is contained in:
parent
3c0a358e66
commit
739f9f325b
Binary file not shown.
|
@ -11,6 +11,7 @@
|
||||||
#include "Blaster/PlayerState/BlasterPlayerState.h"
|
#include "Blaster/PlayerState/BlasterPlayerState.h"
|
||||||
#include "Blaster/Weapon/Weapon.h"
|
#include "Blaster/Weapon/Weapon.h"
|
||||||
#include "Camera/CameraComponent.h"
|
#include "Camera/CameraComponent.h"
|
||||||
|
#include "Components/BoxComponent.h"
|
||||||
#include "Components/CapsuleComponent.h"
|
#include "Components/CapsuleComponent.h"
|
||||||
#include "Components/WidgetComponent.h"
|
#include "Components/WidgetComponent.h"
|
||||||
#include "GameFramework/CharacterMovementComponent.h"
|
#include "GameFramework/CharacterMovementComponent.h"
|
||||||
|
@ -63,6 +64,80 @@ ABlasterCharacter::ABlasterCharacter()
|
||||||
AttachedGrenade = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Attached Grenade"));
|
AttachedGrenade = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Attached Grenade"));
|
||||||
AttachedGrenade->SetupAttachment(GetMesh(), FName("RightHandThrowableSocket"));
|
AttachedGrenade->SetupAttachment(GetMesh(), FName("RightHandThrowableSocket"));
|
||||||
AttachedGrenade->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
AttachedGrenade->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
// Hit boxes for server-side rewind
|
||||||
|
|
||||||
|
head = CreateDefaultSubobject<UBoxComponent>(TEXT("head"));
|
||||||
|
head->SetupAttachment(GetMesh(), FName("head"));
|
||||||
|
head->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
pelvis = CreateDefaultSubobject<UBoxComponent>(TEXT("pelvis"));
|
||||||
|
pelvis->SetupAttachment(GetMesh(), FName("pelvis"));
|
||||||
|
pelvis->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
spine_02 = CreateDefaultSubobject<UBoxComponent>(TEXT("spine_02"));
|
||||||
|
spine_02->SetupAttachment(GetMesh(), FName("spine_02"));
|
||||||
|
spine_02->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
spine_03 = CreateDefaultSubobject<UBoxComponent>(TEXT("spine_03"));
|
||||||
|
spine_03->SetupAttachment(GetMesh(), FName("spine_03"));
|
||||||
|
spine_03->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
upperarm_l = CreateDefaultSubobject<UBoxComponent>(TEXT("upperarm_l"));
|
||||||
|
upperarm_l->SetupAttachment(GetMesh(), FName("upperarm_l"));
|
||||||
|
upperarm_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
upperarm_r = CreateDefaultSubobject<UBoxComponent>(TEXT("upperarm_r"));
|
||||||
|
upperarm_r->SetupAttachment(GetMesh(), FName("upperarm_r"));
|
||||||
|
upperarm_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
lowerarm_l = CreateDefaultSubobject<UBoxComponent>(TEXT("lowerarm_l"));
|
||||||
|
lowerarm_l->SetupAttachment(GetMesh(), FName("lowerarm_l"));
|
||||||
|
lowerarm_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
lowerarm_r = CreateDefaultSubobject<UBoxComponent>(TEXT("lowerarm_r"));
|
||||||
|
lowerarm_r->SetupAttachment(GetMesh(), FName("lowerarm_r"));
|
||||||
|
lowerarm_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
hand_l = CreateDefaultSubobject<UBoxComponent>(TEXT("hand_l"));
|
||||||
|
hand_l->SetupAttachment(GetMesh(), FName("hand_l"));
|
||||||
|
hand_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
hand_r = CreateDefaultSubobject<UBoxComponent>(TEXT("hand_r"));
|
||||||
|
hand_r->SetupAttachment(GetMesh(), FName("hand_r"));
|
||||||
|
hand_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
backpack = CreateDefaultSubobject<UBoxComponent>(TEXT("backpack"));
|
||||||
|
backpack->SetupAttachment(GetMesh(), FName("backpack"));
|
||||||
|
backpack->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
blanket = CreateDefaultSubobject<UBoxComponent>(TEXT("blanket"));
|
||||||
|
blanket->SetupAttachment(GetMesh(), FName("backpack"));
|
||||||
|
blanket->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
thigh_l = CreateDefaultSubobject<UBoxComponent>(TEXT("thigh_l"));
|
||||||
|
thigh_l->SetupAttachment(GetMesh(), FName("thigh_l"));
|
||||||
|
thigh_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
thigh_r = CreateDefaultSubobject<UBoxComponent>(TEXT("thigh_r"));
|
||||||
|
thigh_r->SetupAttachment(GetMesh(), FName("thigh_r"));
|
||||||
|
thigh_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
calf_l = CreateDefaultSubobject<UBoxComponent>(TEXT("calf_l"));
|
||||||
|
calf_l->SetupAttachment(GetMesh(), FName("calf_l"));
|
||||||
|
calf_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
calf_r = CreateDefaultSubobject<UBoxComponent>(TEXT("calf_r"));
|
||||||
|
calf_r->SetupAttachment(GetMesh(), FName("calf_r"));
|
||||||
|
calf_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
foot_l = CreateDefaultSubobject<UBoxComponent>(TEXT("foot_l"));
|
||||||
|
foot_l->SetupAttachment(GetMesh(), FName("foot_l"));
|
||||||
|
foot_l->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
foot_r = CreateDefaultSubobject<UBoxComponent>(TEXT("foot_r"));
|
||||||
|
foot_r->SetupAttachment(GetMesh(), FName("foot_r"));
|
||||||
|
foot_r->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ABlasterCharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
void ABlasterCharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
||||||
|
|
|
@ -46,6 +46,62 @@ public:
|
||||||
void UpdateHUDAmmo();
|
void UpdateHUDAmmo();
|
||||||
|
|
||||||
void SpawnDefaultWeapon();
|
void SpawnDefaultWeapon();
|
||||||
|
|
||||||
|
// Hit boxes used for server-side rewind
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
class UBoxComponent* head;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* pelvis;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* spine_02;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* spine_03;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* upperarm_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* upperarm_r;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* lowerarm_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* lowerarm_r;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* hand_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* hand_r;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* backpack;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* blanket;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* thigh_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* thigh_r;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* calf_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* calf_r;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* foot_l;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UBoxComponent* foot_r;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
|
|
Loading…
Reference in New Issue