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"

Character Launch Speed

I am trying to make a networked power jump, 15 meters high. The problem is that launch character speed is extremely slow when I set it to 15 meters; not giving the desired effect. Is there a way to increase the speed when using launch character? It needs to be smooth and faster than default launch character.

Other things I tried doing that doesn't work: Move the character base on vinterp or lerp. Due to the fact they never reach their max value. Add character movement in z axis. After reaching 15 meters, 0 velocity creates an unwanted dead stop. Launching character further then 15 meters then stopping at 15 meters is same as above.

edit: I ended up using curves to drive the z value. This may end up working for me. edit: Using the curve to drive actor location gives choppy movement for clients. So this isnt working either.

Product Version: UE 4.12
Tags:
more ▼

asked Aug 08 '16 at 04:30 AM in Blueprint Scripting

avatar image

ArxMods
68 4 10 14

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

2 answers: sort voted first

Not sure what you mean by "Launch Character" Do you mean default character?

Have you tried adjusting the "Jump Z Velocity" value?

more ▼

answered Aug 08 '16 at 11:30 PM

avatar image

NoahTimefireVR
540 16 11 37

avatar image ArxMods Aug 09 '16 at 02:31 AM

Launch Character is a node. I tried changing velocity and it wont increase the speed or ease in or out. I have not found a good solution for networking. There is always a draw back. I also used ignore movement error for smoother transitions for client when automated controlled, but other clients will still the jittering effect due to how it is updated.

avatar image NoahTimefireVR Aug 09 '16 at 02:02 PM

So if you are trying to get smooth movement between server and client one thing you can do is manually replicate the transform from the server to the clients, then on the client end break it apart and lerp each of the components (location, rotation, and scale) from the current client position to the replicated value. I have not used this with characters, but I use it for moving platforms, even ones that move at high speed and there is no jitter.

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

Hey, you are setting the launch velocity, not the height. So to get 15m exactly, you have to do some math that takes your gravity into account.

The equation you need is

 Jumpheight = Launchvelocity^2 / (2*Gravity)

if we put in 15m for Jumpheight and solve it for Launchvelocity we get the following equation:

 Launchvelocity = sqrt(15 * 2 * 9.81);

With the result of 17.15517m/s. Keep in mind though that Unreal Engine uses centimeter as units so we have to multiply this by 100 giving us 1715.517415 cm/s.

finally, just plug this value into your Z value of Launch as seen in the next picture.

alt text

launch15m.png (54.0 kB)
more ▼

answered Aug 09 '16 at 04:26 AM

avatar image

DennyR
1.1k 31 12 47

avatar image ArxMods Aug 09 '16 at 04:37 AM

Thats not the problem and 1500 z will launch you 15 meters from what i have tested.

avatar image ArxMods Aug 09 '16 at 04:45 AM

Also have I am using launch for my jumps + double jump by getting the movement component jump velocity and works 100% fine and as intended even with networked. My goal is to use something like a thruster where I can control the height and be fairly smooth for both the local client and the other clients. I have ended up using a curve to drive the Z value and work decent but not perfect. It drives the z value to set character location. On the local client (as a FPS) it works decent with some minor hitching due to ignore movement error check being turned back on after the movement is automated. The problem with using set actor location is that it will cause the other clients to see jittering when in the air. This is because how UE4 network predictions is handled and variables are getting updated while being rounded.

avatar image ArxMods Aug 09 '16 at 04:52 AM

To sum the above, Set Actor Location works but from the server to other clients, it will show jittering because there isn't any interpolation while using set actor location from UE4s networking. I need to find a way around this but can't find a solution that is remotely optimise for multiplayer..

avatar image DennyR Aug 09 '16 at 02:45 PM

First, 1500z will only launch you about 11m in the air, not sure how much precision you need.

Secondly, all the mentioned ways should be fairly equal in what they will do for you. The results will be largely the same. The reason you see jitter is because you are most likely just calling it on the server and let the replication handle the update for clients, but this doesn't happen every frame and therefore, you see jitter. What you want is a client prediction model. Tell the clients the jump happend an let them interpolate their own behavious in addition to the one that the server does.

avatar image ArxMods Aug 09 '16 at 06:03 PM

Your correct on the z velocity. However the function runs for clients and on server. It is not replicating movement from server to clients. There is also a bool in movement component that's called "ignore client movement error check" which is used to do the client prediction. When the skill is used, it sends and rpc to the server saying the key was hit. It then checks for cooldown etc server side, along with a replicated bool saying the skill is in use. The update function will run the boost jump for the server and all clients. The ignore client movement check error is on while it in the process. The local client and server work appropriate with only a slight hitch when ignore client movement is turned back on. As for the receiving clients, it will jitter, as if UE4 is forcing the update from the server. However it shouldn't be.


As I said before, launching a character by velocity does not achieve the result I need. I need something that is more as a thrust propulsion which needs to be faster than the jump,launch, etc that ue4 provides. Thus the reason I used a curve to drive that.

avatar image ArxMods Aug 09 '16 at 06:17 PM

Ok seems ignore client movement error is only for the local client. Receiving clients will get overridden with the movement replication. So I also had to turn that off.

(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