x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Spawn emitter on dedicated server

I am trying to get my game to spawn a particle effect when a bullet collides with an object. The particles do spawn when running in singleplayer, however no emitter is spawned when running on a dedicated server. If I test it as a listen server, the emitter only spawns on the host.

 // Trace from old position to new position and test for collision
 FHitResult HitResult(ForceInit);
 bool HitSuccess = GetWorld()->LineTraceSingle(HitResult, ActorLocation, NewActorLocation,
                                           ECC_Visibility, TraceParams);


 if (HitSuccess)
 {
     // Bullet hit something
     ClientNotifyHit(HitResult);

     Destroy();
     
 }

Then in the ClientNotifyHit

 void ATOBullet::ClientNotifyHit_Implementation(const FHitResult Hit)
 {
     FVector ParticleLoc = Hit.ImpactPoint + (Hit.ImpactNormal * FVector(32.f, 32.f, 32.f));
     UGameplayStatics::SpawnEmitterAtLocation(this, ImpactParticle, ParticleLoc, 
                                               Hit.ImpactNormal.Rotation());
 }

ImpactParticle is set in the Blueprint for the bullet.

Product Version: Not Selected
Tags:
more ▼

asked Nov 26 '14 at 01:17 AM in C++ Programming

avatar image

CirdanValen
31 2 2 3

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

The problem was that I was spawning the emitter attatched to the bullet...so when the bullet was being destroyed so was the emitter. To fix this, I changed from this as the WorldContextObject argument to GetWorld()

 UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), ImpactParticle, ParticleLoc, 
                                                Hit.ImpactNormal.Rotation());
more ▼

answered Nov 27 '14 at 12:46 AM

avatar image

CirdanValen
31 2 2 3

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question