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"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

How do I spawn particle emitter at specific Z-axis?

Hello all, decided to get back into UE4 and am having trouble spawning an emitter once the player enters water.

As the title says, I'd like to spawn a particle system for splashing. It works when I move, and it stops when the body of water is too deep. However, it always spawns at a fixed Z-value (I.e, 10 units or so above the player - at all times).

I'd like it to spawn at 'water' level, I've looked into other threads, and an image I found here:

https://forums.unrealengine.com/filedata/fetch?id=1079196&d=1433106428

Has what I want, but, I'm using 4.18 and am assuming this method has been deprecated. Attached is my current particle Blueprint system:

https://imgur.com/a/4FYvP

For reference, this Splash Blueprint is being referenced from the water plane Blueprint itself (It has the spawn actor reference while the splash blueprint itself has spawn emitter - Perhaps I have them mixed around?).

Does anyone have a suggestion on making the spawn emitter transform Z-location spawn only at water level?

Thank you

Product Version: UE 4.18
Tags:
more ▼

asked Nov 15 '17 at 06:45 AM in Blueprint Scripting

avatar image

ThaGuyWithCake
1 1 2

avatar image ThaGuyWithCake Nov 15 '17 at 09:22 AM

Just updating, but I managed to split the pin structure of both spawn emitter and actor spawn location, however the z-axis is stuck at 0 (fixed water level).

Is there any way to have it dynamic in that the z-axis spawns no matter how high the water is?

avatar image ThaGuyWithCake Nov 19 '17 at 03:20 AM

So far I have a potential solution, the only problem is that it doesn't consider whether the player is UNDER the water.

Attached is a possible solution, but it could be better.

https://imgur.com/a/2To87

I'll probably use linetrace to detect if the player is underwater, but not sure how it would look in blueprint with capsule half height + capsule component (Still not that good).

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

1 answer: sort voted first

You can do a line trace for object, set colision for water, set start at player location + capsule component half height (it shuld be his head) and end at player location - capsule comp. half height (should be the feet of character) make a branch if it hitted something and then another brach from initial overlap from breaked hit reault so that it doesnt spawn if your head is under water. If the initial overlap doeant seem to work if u are under water check trace complex, it shoild work without ir but I'm not sure) and if overlap is flase spawn particle emmiter at the hit location. I dont know how your water effect looks like and how you want it to look like, but if u want to update its(particle) location you can do a line trace again and update its location every tick, but it will be expensive for cpu so you can just save the line trace z value into variable and then every tick check if player location z + caps half height is smaller than saved z value so that the particle doesn't spawn/update if you are under water. If the z location is lower you can delete particle and just stop doing anything else and if its not lees than variable you should check if player lozation z - capsule half height is grater then saved z(so that the particle doesnt update if the fest of player are above water), if its grater go back to destroy particle and if its not greater you should get player location, break it and plug x and y to set actor location(of your particle)and get the z from your variable after this do a delay with 0s and plug it back to the first branch unless u plugged it into tick and mase variavle to enable or disable checking it or you made it as a function and made set timer for function(or something like that cuz I dont remember its name) and then just started and stopped it by handle.

more ▼

answered Nov 15 '17 at 02:04 PM

avatar image

Dark Energy
22 3 4 10

avatar image Dark Energy Nov 15 '17 at 07:37 AM

Sry 4 bad english and not clear explanation.

avatar image ThaGuyWithCake Nov 18 '17 at 07:57 AM

I think I get it.. The particle logic is done in the water blueprint rather than the Character. The particle despawns after a second, and respawns if the player is physically moving (Which you can see in the image I linked).

As for checking to see if player is under water, I'm still not sure I understand what you mean.

As for linetrace, should I do it in the particle BP or is it going to be more effective if I use player BP

(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