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"

[Closed] On Event Landed doesn't seem to be able to call Jump with any effect.

I'm not sure why this is. Seems like it should work, but if I call Jump with On Event Landed, nothing happens. In the end, I had to use a roundabout way to make the actor auto-jump.

Anybody know why this might be?

Product Version: Not Selected
Tags:
more ▼

asked Sep 24 '14 at 05:48 AM in Bug Reports

avatar image

Kaezon
8 1 2 5

avatar image Kaezon Sep 24 '14 at 11:36 PM

As requested, this is my current workaround: I used On Tick to call a conditional statement where the character jumped if the Character Movement component's velocity on the Z axis was not equal to 0.0

I'm sure there's a way to work it with collision detection, but since it's evaluated every tick and the chances of the velocity being == 0.0 in float-space any time OTHER than something setting it to 0.0 (a collision) it was a reasonable temporary solution.

Blueprint On Attached Image

(comments are locked)
10|2000 characters needed characters left

The question has been closed Oct 19 '15 at 03:15 PM by Ben Halliday for the following reason:

The question is answered, right answer was accepted


2 answers: sort voted first

Hey Kaezon,

It looks like this is a bug. The Event On Landed node is firing while the Is Falling boolean for the Movement Component is still set to true. I have entered a bug report in our system for our developers to look over (TTP# 347599), and I will let you know if I see an update.

In the meantime, would you mind posting your work-around for this issue for any other users that might come across the same problem?

Thanks for the report!

more ▼

answered Sep 24 '14 at 06:02 PM

avatar image Kaezon Sep 24 '14 at 11:44 PM

Sure thing. Thanks for checking it out. I've added my workaround as a comment to the original post, image attached.

avatar image zeroexception STAFF Sep 26 '14 at 04:54 PM

I'll look in to reordering the event to be after setting the movement mode to walking.

In the meantime I think there is a simpler workaround, which is to use the "OnMovementModeChanged" event to detect when you go from falling to walking and then trigger your jump event.

avatar image zeroexception STAFF Sep 26 '14 at 05:13 PM

Looking at it more, I don't think I will be reordering the call. Too many existing implementations of OnLanded() assume that the movement mode is falling, and that they can read current velocity as the impact velocity.

I suggest using the OnMovementModeChanged() event instead as I suggested. I will update documentation in OnLanded() to make it clear that this is still while Falling is set and that it's about to change to walking. Maybe I'll rename it "OnLanding()" to make it more clear...

(comments are locked)
10|2000 characters needed characters left

Hi, thank you so much for the work around, I've been struggling with a similar problem for a while and by adapting your solution I worked around a problem inherent with using velocity. It's a bit complicated but I'll do my best to explain.

With your solution using velocity I cam across the problem that at the apex of the jump the z velocity momentarily becomes 0 as pawn began to fall meaning that its possible to jump infinitely without ever landing.

To fix this I created a second character which I named JumpMeasure. JumpMeasure is identical to the character but only receives the Jump input and none of the movement controls. As soon as the game starts JumpMeasure is teleported to an enclosed area beneath the level away from the character.

I then told the blueprint to allow the character to jump only when JumpMeasures world Z co-ordinate equals almost exactly the co-ordinate I teleported it to when the game starts.

This is as far as I've gotten with this problem but it is imperfect. If the player falls further than JumpMeasure they can jump again, also, if they walk off of an edge, they can still jump while falling. This isn't an issue for me as the falling velocity of the player is too much for the impulse from the jump to make a difference but in case someone else uses this solution be aware that this could cause problems in different circumstances from my own. I'll leave the BP for the jump here too.alt text

bp solution.jpg (178.2 kB)
more ▼

answered Oct 19 '15 at 01:15 PM

avatar image

DaneHill
21 1 1 4

(comments are locked)
10|2000 characters needed characters left

Follow this question

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

Answers to this question