Phase ability kerfuffle

I’m currently trying to work on Wraith’s Phasing ability from Apex Legends. I have the teleport to a duplicate of my map spaced out, but the problem is that I want it hidden until I use her ability. I have thusly, hidden in game the duplicate map, and have tried this coding to draw it out when I use her ability but, needless to say i don’t understand branches. In short, help?

this is my coding so far, and it’s… it’s a mess. Could really use insight how to have the map remain hidden until I activate my ability and then rehide it when I reactivate it. Thanks so much you’re all lifesavers

I saw your original post. I think you’re overcomplicating things. The phase effect (from what I saw) seems to only use effects, no duplicate map. The things I noticed are:

  • The map is the same map
  • There’s a postprocess for the screen effect, “dust” particles, and “ghost” figures
  • The character is still visible on the player’s screen
  • From this video, he other characters are hidden? If so, just hide them on the player’s screen.

Here’s a quick mockup:

phase


It uses replicated events to handle the effect.

Client:
The player presses the phase key and sends a phase request to the server.
image

Server:
Server handles the main sequence of the phase. It uses multicast events to start and stop the phase effect on all clients.

Clients:
Make the effect. If the client is the one that is doing the phase, instead of hiding the character and spawning a particle effect, add a postprocess effect to the screen.

Then, when “PhaseEnd” is received, undo the effect.


Also, side note: to duplicate a level, use Load Level Instance (by Name/Object Reference).

this was a lot of over my head-ed-ness but i’m definitely taking notes lol. I’ve been doing a duplicated map this whole time because of this video Wraith tutorial but it seems that you just did it in one stroke. Okay most of this I think I understand, make a blueprint for phase, make a state for phase start and end and one for request phase, my question i suppose is for the “make weightedblendable” part what is “z_phase_pp” other than that i think it’s kind of straightfoward. One thing, my perspective is in true first person, is that going to change any of this coding? say for instance the “follow camera” for the post processing event?

Also how would I link An animation to start and then end. I want her to rip open a portal for both but use a leveling system where each level the animation takes time off and becomes “easier” for our player to do

OMG how are you merging target with player state, and with post processing??? i can’t find how to do that anywhere

ngl have everything down but get completely lost at the not equal on, what is the player state connection to the not equal, and which not equal are you using?

That’s a postprocess material that inverts the colors and adds a blue tint. You can do it however you want, but I just did that.

“Follow camera” is just the camera for the default third person character. You would replace that with your true first person camera. Other than that, the code is the same.

You would do that in the animation blueprint, or you could use an animation montage. For the leveling, you would adjust the play rate of the animation to match the speed of opening the portal.

Drag it off the “Get Player Character” node.

It’s NotEqual (Object). The first playerstate is from the character doing the phase, and the second playerstate is from the local player. The comparison checks to see if the local player is the one doing the phase and switches code paths based on that.

1 Like

Also, I added hiding the other characters on the player’s screen so that it completes the “alternate dimension” effect:

It uses an event dispatcher so that you don’t have to loop through each character:

Create an event dispatcher called “Phase_HideCharacters” and add an input called “Visibility”. Then, create a custom event called “HideCharacter” and, if the character is not the local player, bind it to the local player’s event dispatcher (i.e. bind it for every character except the local player). Then, add the “SetVisiblity” node to the “HideCharacter” event.

Then call the event dispatcher after both postprocess nodes to hide & unhide the characters:
image

you have been super helpful and patient with me and I appreciate everything you’re doing to try to help me. I have a question or two. 1: was i supposed to do all of this on another blueprint and not the third person character BP that my character was duplicated from, because I feel I’ve followed all of your photos and for some reason it’s still not working for me when I use the ability button.


And 2: how would i use the second part you showed me with the hide characters to instead show the hidden hers that would blink in and out of existence in the phase world… would I need a radius and a bunch of hidden characters in the scene? Or would i just have to design a code for tags on buildings and then somehow link those tags with the hidden hers… idk you’ve made me see I overcomplicate things a lot. Also Also, 3: i realize since this is single player mode I guess i don’t need the whisp per’se to follow her but I’m still curious how to do that as you’ve done here and am curious if i can customize it so that it’s like a smoke trail or something more closer to the game. Thank you again so much for all your help, you don’t know how much this means to me.

1 Like

You do it in the character blueprint.
You can see in my pictures that the character is actually called “Third Person Character Replayable” which is a custom blueprint, but I dropped the code into the default “Third Person Character” and it still worked. Your code looks just like mine, so I don’t know what the problem is.

Edit: found some slight differences:

  1. The weight on “Make Weighted Blendable” is set to -1.0, but it should be 1.0. Also, make sure the material domain for that material is set to “Post Process”. Here’s the material graph.
  2. You don’t have a “Do Once” node in the “Phase Start” event. This shouldn’t be a problem, but just pointing it out. It’s there so you don’t start multiple phases at the same time.

I was just going of the Apex Legends example. For the silhouette characters the show during the phase (which are apparently other phasers), you would use the event dispatcher on those, as well. They would just be actors that are placed randomly around the player, and when you phase, they become visible.

If you need to phase a lot things other than just characters, you may want to use Level Streaming to add onto or replace the current level. This game does something similar: How The Medium uses next-gen technology to deliver dual-layered horror - Unreal Engine, but you explore both worlds at the same time. It’s an extreme example, but for you, you would use level streaming to have both levels loaded, and switch their visibility to go from one dimension to the other.

It’s just a modified version of the “P_Ambient_Dust” particle effect from the starter content. If you want a smoke trail, you just make one and change the particle to that. There are some default smoke particles in the starter content.

No problem. :+1: