From fec03cfb8e1279ebffd69a27f63049f6f82dace9 Mon Sep 17 00:00:00 2001 From: Kingsmedia Date: Fri, 27 May 2022 22:37:59 +0200 Subject: [PATCH] 194 - Predict Projectile Path --- .../Projectiles/BP_ProjectileBullet.uasset | Bin 23200 -> 23174 bytes Content/Maps/BlasterMap.umap | Bin 1339530 -> 1339576 bytes Source/Blaster/Weapon/Projectile.h | 8 ++++++ Source/Blaster/Weapon/ProjectileBullet.cpp | 23 ++++++++++++++++++ Source/Blaster/Weapon/ProjectileBullet.h | 2 +- 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Content/Blueprints/Weapon/Projectiles/BP_ProjectileBullet.uasset b/Content/Blueprints/Weapon/Projectiles/BP_ProjectileBullet.uasset index 367e585e8aef06e55824a23bf6536cb83f4d43e2..7fe9613c6c7d22c123f2e6b8a8c73de9a06109a0 100644 GIT binary patch delta 4846 zcmd5=X>3$g6u!4W?G%M+XF8qfuoT-u7u%F#%QCdg(uFQ`nUUnk{mci2i&)%)xtfrAys$V>pcI3>VhRuE5pU9%lUtRBbcYp0pkRKx+c@DyZ zVdBJ*J;gE^YI%9M!0q#+%N5lODxQD044GShjVE@#>5Zog%;C=+Yozvomg+SoIv_K(#09 z@CM*^MZmENoC`27Y>$BJpgul$m}j6~pmhhYn1PScfa?GpqPjz!Gucxfq828%(iwVV zT-`Knv}_}f0ZL9fw_WP>lw37oPEgO8GcBCkav+nhC%E4Yki`HgwDeHdQYddw{j^)j zsv=cpF{^zkMoS-cCqQ|U>c>4H5GF>*34&}XCrG9R(;Vh~bg!lb7%D>CapZQ+gbG;2 z+7LGm!qIi)eyT1I|K(Jp1@j{Z7{vkXe*{cOrrMvw^? z+GjOdc&kvVyJ<*qD@m2Ez68h)>dt|3G1XnIfw@%LjF$b-&2wRvZ93$rEz^Q|gWXq% zVek⁡6KAQwBpY5L#S9`#+@gHu4Ap7RmCMz$_LZ|d zb|Ky#J8z$nvA~5SV5NEiD&OWgSIv~K)N0LN8glciAz!H)^_Xp|sKw`xwJlX=Jl18%jfSZ?)bgkqc~8>I zjVZxuhs4}6IcCIHDiH$w+wh;38?%DLXHJ@ICAIHYt|nU+HNrOGHf&!JIZM=mwbsCq z;Ji0k7ODMoz#;e2I9^&hwZ$T;@b-mMVA4Sg_ZXJz9qjwIUF&U6gZpDyNojC1h&r z_6vZ+-(YC}iIB1C2&yD~^T$^+9v|P)Fn(?4;OUXKE;`hA)sb|yO1uzssM9r3)Kv#- zvt^k&Uc1_`T3?@VsOz;cY0sM#U3=xMux9YtpHApwkT?D}Lg&BKQ#}-a%k$wg?{=MN zKmVpfWz*;F3*K>Q5W9rwih*>ZSrb2u$%Uj?l+fq>b>S1=~eGSS-mAXAaDm2eAfz|4_{8gLZafq Kz>l8HJ^DB26)H>s delta 4945 zcmcIodu)?c6u%#Xu?I+3+OFM$ZNkPj7@L~|k*;jr*2x%qvW=%}H!3TP4cNd9fwCAO zE*gk8_=gchqW_p-rVB>FNQf~Sj06+^K@i0#io6mN4G9K3=ljm-+I8zH>Pf!c$M1K} zx%ZrN@As|yPb$YwDu?ds&)bBUB7~^!>U2XhS$JiPlILCjh!8p$pPMPfENByE2r-Z# zgaUnAq7V*vTH$$r&z7DG`oW5WL$POGYtBvUY(J;uxBgl3ZvBq$?NQ37$VWR~c+iay zhhNQ6^w8$!HkKFW*1J30u5Ncu;etHEZy(Q6^ztJmJ^38ie|?Rr1I+C-ptl-T+=7^+WM~177F&Jg;DbNZdL;F@U!%4BmCHw|zn$qymZE6B32^ z6?ko7@-~FYb7Lu>gbE=#=JZU&+oGA9&|WF=yb~FGE=+@a!sJy2^0fUsX_9N<7ufOc zK%zQg-cG`>;WIJTM*MkeNhgp;@%JaL8h*+bX?d9M~0bW!#l89l(7d#3R4cbsFqE<}^7rf(9n#Ec}VXY(7snMpj zDq#{&wi78)))~x}B%(4po5m{uO_iC&iI!!f7`#+WMW$R=7PXM`?2DTa`~l3 zcaVvvv3#eyv!`OaYiqlh&{sxCU-e|$CY>dQXs!yIylOKPXrE3(#1Lns!T6(a2zZ0@ zFhKHhiO$G-K~_K|C{}5*&nudR00`#+`~Er@7_3MX_F~qCVikBvkw@%t0WZ}!LW4>Y zi_j^_YnbX*jXtN|j8THadLf__IPl=?f4B}%beT4{;q;AEYNphb@EpJ?0fQf$_$PB0=HW(bqFarr;iM#sO<%oT!H`koLv90^m zz}uIsGNLj#u&zq8Os#OqZ!1FtR~}uSsVtSBFSkY)`9eRfDy-0Z!z)uV%Vj4j*blYi zSMIpkI0kn^ve=**_+RS!A7mrvuxD9cT_T9 zq?d!u2bBbAU6rCNl+K1Mr9tjrwO4hFCsQvkHre$FnwIKlrKfGPU}|%7X*~QUqYCb+ zw5y}T)9vZ%6#C&y4K4*N7d0lc<>40^8x;5%Mc1%6o=u{b-M!J%S=-_2^VuC}$dAE| zl&F^F3}voY`v+y@3z+W>_;+oSBVXl>1NsMlIuX&WzbFB(Uw;kwsR_mEd-M4m{|>Jn zgN6o!=x7Fkweo}2g_dR-ag~m|3hgNao9*TWxsL2p9z=1)BPeD=}5 E0c_VP7XSbN diff --git a/Content/Maps/BlasterMap.umap b/Content/Maps/BlasterMap.umap index 4608d861abc603b4372e038baee61c87203f48a0..fac04cc01c9bca29f8edba970b4e55311680ddb5 100644 GIT binary patch delta 144965 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 diff --git a/Source/Blaster/Weapon/Projectile.h b/Source/Blaster/Weapon/Projectile.h index e21c680..db0da77 100644 --- a/Source/Blaster/Weapon/Projectile.h +++ b/Source/Blaster/Weapon/Projectile.h @@ -16,6 +16,14 @@ public: AProjectile(); virtual void Tick(float DeltaTime) override; + // Used with server-side rewind + bool bUseServerSideRewind = false; + FVector_NetQuantize TraceStart; + FVector_NetQuantize100 InitialVelocity; + + UPROPERTY(EditAnywhere) + float InitialSpeed = 15000; + protected: virtual void BeginPlay() override; void StartDestroyTimer(); diff --git a/Source/Blaster/Weapon/ProjectileBullet.cpp b/Source/Blaster/Weapon/ProjectileBullet.cpp index 74231c7..9dfd523 100644 --- a/Source/Blaster/Weapon/ProjectileBullet.cpp +++ b/Source/Blaster/Weapon/ProjectileBullet.cpp @@ -12,6 +12,8 @@ AProjectileBullet::AProjectileBullet() ProjectileMovementComponent = CreateDefaultSubobject(TEXT("ProjectileMovementComponent")); ProjectileMovementComponent->bRotationFollowsVelocity = true; ProjectileMovementComponent->SetIsReplicated(true); + ProjectileMovementComponent->InitialSpeed = InitialSpeed; + ProjectileMovementComponent->MaxSpeed = InitialSpeed; } void AProjectileBullet::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) @@ -28,3 +30,24 @@ void AProjectileBullet::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, Super::OnHit(HitComp, OtherActor, OtherComp, NormalImpulse, Hit); } + +void AProjectileBullet::BeginPlay() +{ + Super::BeginPlay(); + + FPredictProjectilePathParams PathParams; + PathParams.bTraceWithChannel = true; + PathParams.bTraceWithCollision = true; + PathParams.DrawDebugTime = 5.f; + PathParams.DrawDebugType = EDrawDebugTrace::ForDuration; + PathParams.LaunchVelocity = GetActorForwardVector() * InitialSpeed; + PathParams.MaxSimTime = 4.f; + PathParams.ProjectileRadius = 5.f; + PathParams.SimFrequency = 30.f; + PathParams.StartLocation = GetActorLocation(); + PathParams.TraceChannel = ECollisionChannel::ECC_Visibility; + PathParams.ActorsToIgnore.Add(this); + + FPredictProjectilePathResult PathResult; + UGameplayStatics::PredictProjectilePath(this, PathParams, PathResult); +} diff --git a/Source/Blaster/Weapon/ProjectileBullet.h b/Source/Blaster/Weapon/ProjectileBullet.h index 1631542..ca15f10 100644 --- a/Source/Blaster/Weapon/ProjectileBullet.h +++ b/Source/Blaster/Weapon/ProjectileBullet.h @@ -21,5 +21,5 @@ public: protected: virtual void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) override; - + virtual void BeginPlay() override; };