Slightly improved bullet trails fx

This commit is contained in:
TjgL 2025-02-01 10:51:17 +01:00
parent 1bab3ec0ab
commit 1e3baeb391
9 changed files with 23 additions and 18 deletions

Binary file not shown.

BIN
Content/Legumix/Weapon/Ammo/C_Jitter.uasset (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -24,8 +24,11 @@ void ALMBulletTracer::Tick(float DeltaTime)
Super::Tick(DeltaTime);
}
void ALMBulletTracer::Initialize(const FVector& Vector)
void ALMBulletTracer::Initialize(const FVector& Vector, const FRotator& Direction, USceneComponent* Origin)
{
SetActorLocationAndRotation(Origin->GetComponentLocation(), Direction);
TrailOrigin = Origin;
const double Distance = FVector::Distance(Vector, GetActorLocation());
float const LifeTime = Distance / Speed;

View File

@ -78,8 +78,7 @@ void ULMWeaponManager::CreateTracer(const EAmmoType Ammo, const FVector EndLocat
if (ALMBulletTracer* Trace = GetWorld()->SpawnActor<ALMBulletTracer>(Data.BulletTracer))
{
Trace->SetActorLocationAndRotation(GetCurrentWeapon()->GetTracerOrigin(), Direction);
Trace->Initialize(EndLocation);
Trace->Initialize(EndLocation, Direction, GetCurrentWeapon()->TracerOrigin);
}
}
}

View File

@ -18,7 +18,7 @@ public:
void BeginPlay() override;
virtual void Tick(float DeltaTime) override;
void Initialize(const FVector& Vector);
void Initialize(const FVector& Vector, const FRotator& Direction, USceneComponent* Origin);
public:
UFUNCTION(BlueprintCallable, Category=Legumix)
void DestinationReached();
@ -48,6 +48,9 @@ private:
UPROPERTY(BlueprintReadWrite, Category=Legumix, meta=(AllowPrivateAccess=true))
bool bCanMove;
UPROPERTY(BlueprintReadWrite, Category=Legumix, meta=(AllowPrivateAccess=true))
TObjectPtr<USceneComponent> TrailOrigin;
private:
FTimerHandle TimerHandle;

View File

@ -46,9 +46,6 @@ public:
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void OnDefaultReload();
UFUNCTION(BlueprintCallable)
FVector GetTracerOrigin() const { return TracerOrigin->GetComponentLocation(); }
protected:
UFUNCTION(BlueprintCallable)
@ -61,6 +58,9 @@ public:
/** The current state of the weapon. */
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category="Legumix|Weapon")
EWeaponState State;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Legumix, meta=(AllowPrivateAccess=true))
TObjectPtr<USceneComponent> TracerOrigin;
protected: /* Weapon Data */
FTimerHandle FireTimer;
@ -134,8 +134,5 @@ private: /* Components */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Legumix, meta=(AllowPrivateAccess=true))
TObjectPtr<USkeletalMeshComponent> WeaponMesh;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Legumix, meta=(AllowPrivateAccess=true))
TObjectPtr<USceneComponent> TracerOrigin;
};