// Sets default values ASCharacter::ASCharacter(const class FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { // Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; UCharacterMovementComponent* MoveComp = GetCharacterMovement(); // Adjust jump to make it less floaty MoveComp->GravityScale = 1.5f; MoveComp->JumpZVelocity = 620; MoveComp->bCanWalkOffLedgesWhenCrouching = true; MoveComp->MaxWalkSpeedCrouched = 200; /* Ignore this channel or it will absorb the trace impacts instead of the skeletal mesh */ GetCapsuleComponent()->SetCollisionResponseToChannel(COLLISION_WEAPON, ECR_Ignore); // Enable crouching MoveComp->GetNavAgentPropertiesRef().bCanCrouch = true; CameraBoomComp = ObjectInitializer.CreateDefaultSubobject<USpringArmComponent>(this, TEXT("CameraBoom")); CameraBoomComp->SocketOffset = FVector(0, 35, 0); CameraBoomComp->TargetOffset = FVector(0, 0, 55); CameraBoomComp->bUsePawnControlRotation = true; CameraBoomComp->AttachParent = GetRootComponent(); CameraComp = ObjectInitializer.CreateDefaultSubobject<UCameraComponent>(this, TEXT("Camera")); CameraComp->AttachParent = CameraBoomComp; CarriedObjectComp = ObjectInitializer.CreateDefaultSubobject<USCarryObjectComponent>(this, TEXT("CarriedObjectComp")); CarriedObjectComp->AttachParent = GetRootComponent(); MaxUseDistance = 500; DropWeaponMaxDistance = 100; bHasNewFocus = true; TargetingSpeedModifier = 0.5f; SprintingSpeedModifier = 2.5f; Health = 100; IncrementHungerAmount = 5.0f; IncrementHungerInterval = 5.0f; CriticalHungerThreshold = 90; HungerDamagePerInterval = 1.0f; MaxHunger = 100; Hunger = 0; /* Names as specified in the character skeleton */ WeaponAttachPoint = TEXT("WeaponSocket"); PelvisAttachPoint = TEXT("PelvisSocket"); SpineAttachPoint = TEXT("SpineSocket"); }
ANimModCharacter::ANimModCharacter(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { // Set size for collision capsule GetCapsuleComponent()->InitCapsuleSize(46.f, 92.0f); /*CharacterCameraComponent = ObjectInitializer.CreateDefaultSubobject<UCameraComponent>(this, TEXT("FirstPersonCamera")); CharacterCameraComponent->AttachParent = GetCapsuleComponent();*/ DefaultBaseEyeHeight = 71.f; BaseEyeHeight = DefaultBaseEyeHeight; //CharacterCameraComponent->RelativeLocation = FVector(0, 0, DefaultBaseEyeHeight); // Position the camera //CharacterCameraComponent->bUsePawnControlRotation = true; Mesh1P = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, TEXT("PawnMesh1P")); Mesh1P->AttachParent = GetCapsuleComponent(); Mesh1P->SetOnlyOwnerSee(true); /*Mesh1P->bOwnerNoSee = false;*/ Mesh1P->bCastDynamicShadow = false; Mesh1P->bReceivesDecals = false; Mesh1P->MeshComponentUpdateFlag = EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered; Mesh1P->PrimaryComponentTick.TickGroup = TG_PrePhysics; Mesh1P->bChartDistanceFactor = false; Mesh1P->SetCollisionObjectType(ECC_Pawn); Mesh1P->SetCollisionEnabled(ECollisionEnabled::NoCollision); Mesh1P->SetCollisionResponseToAllChannels(ECR_Ignore); /*GetMesh()->bOnlyOwnerSee = false; GetMesh()->bOwnerNoSee = true;*/ GetMesh()->SetOnlyOwnerSee(false); GetMesh()->SetOwnerNoSee(true); GetMesh()->bReceivesDecals = false; GetMesh()->SetCollisionObjectType(ECC_Pawn); GetMesh()->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); GetMesh()->SetCollisionResponseToChannel(COLLISION_WEAPON, ECR_Block); GetMesh()->SetCollisionResponseToChannel(COLLISION_PROJECTILE, ECR_Block); GetMesh()->SetCollisionResponseToChannel(ECC_Visibility, ECR_Block); GetCapsuleComponent()->SetCollisionResponseToChannel(ECC_Camera, ECR_Ignore); GetCapsuleComponent()->SetCollisionResponseToChannel(COLLISION_PROJECTILE, ECR_Block); GetCapsuleComponent()->SetCollisionResponseToChannel(COLLISION_WEAPON, ECR_Ignore); UCharacterMovementComponent* MoveComp = GetCharacterMovement(); // Adjust jump to make it less floaty MoveComp->GravityScale = 1.5f; MoveComp->JumpZVelocity = 620; MoveComp->bCanWalkOffLedgesWhenCrouching = true; MoveComp->MaxWalkSpeedCrouched = 200; MoveComp->AirControl = 1; /* Ignore this channel or it will absorb the trace impacts instead of the skeletal mesh */ //GetCapsuleComponent()->SetCollisionResponseToChannel(COLLISION_WEAPON, ECR_Ignore); // Enable crouching MoveComp->GetNavAgentPropertiesRef().bCanCrouch = true; TargetingSpeedModifier = 1.5f; bIsTargeting = false; RunningSpeedModifier = 5.0f; bWantsToRun = false; bWantsToFire = false; LowHealthPercentage = 0.5f; BaseTurnRate = 45.f; BaseLookUpRate = 45.f; }