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"

NavMesh - Jump Points

Blueprint project:

How do you set jump points on a Nav Mesh so a bot knows it can do a jump to link to another part of the nav mesh?

Product Version: Not Selected
Tags:
more ▼

asked Aug 16 '14 at 04:04 PM in Using UE4

avatar image

mikepurvis
2.5k 100 65 260

avatar image mikepurvis Aug 16 '14 at 05:55 PM

I found the doc on the NavLinkProxy, but it looks incomplete.

In Blueprint how do I go about extending it so my bot will jump up the ledge, not just fail.

I have the jumping in, and can call it as a function. But I was using a trigger box and it's not integrated with the path finding.

I extended the NavLinkProxy in a Blueprint. What events come with this?

If there was a trigger when the bot first started I could cast the actor that caused the trigger and then call it's jump function using the other point link as a destination.

Is that possible in Blueprints with this, or do I need to add this functionality via C++? Right now I've been trying to do a Blueprint only project.

alt text

navlink.jpg (253.8 kB)
avatar image mikepurvis Aug 21 '14 at 07:14 PM

chirp, chirp... hear crickets

avatar image shauki Aug 18 '15 at 08:31 AM

Is there a solution out of the box now?

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

2 answers: sort voted first

Hi Mike,

Sorry for the delay in response.

The code behind Nav Link Proxy merely tells the AI that the beginning point is connected to the end point. It is essentially just a bridge. Our AI programmers are working on a Jump Point actor for AI, so they will know where they are able to jump to.

I was looking into this more and found that it does allow for some basic events. It also has SmartLinkReached, EndPlay and OnDestroy events. You could use those perhaps to determine if you are in a "jumpable" area.

What we do for our games is have the characters do traces or have shape components to detect when overlap stops occurring at certain points. I would suggest doing something like those until the jump linker is done. Let me know if you have any questions.

Thank you,

Alexander

more ▼

answered Aug 21 '14 at 07:36 PM

avatar image mikepurvis Aug 21 '14 at 07:44 PM

I was hoping some things could be exposed on the Nav Link, like when the Actor got to it, and the locations of the links. That way, extending the blueprint could do custom actions.

What I ended up doing is putting the Nav Link as seen in the above picture, and then adding a trigger. The NavLink will get the bot to come to the area, then the trigger can kick off the event, but it's a 1 off right now and feels hacky.

Being able to do this without having to add the trigger, and have some exposed variables like the location of the other links, and knowing which link your bot activate would make it really easy to put in custom animation/movement to travel between the points.

avatar image Alexander Paschall ♦♦ EPIC Aug 21 '14 at 07:54 PM

I looked into this more and it would appear that you would need to go into code to achieve that right now. It sounds like the trigger system that you are using may be the way to go. From Mieszko:

It's currently not supported out of the box and would require some C++ coding. You can however implement a kind of jumping behavior with navlinks and triggers. Navigation links tells AI "you can traverse this segment", so if you place a link between two platforms AI will find a path as expected. You just need to take care of the jumping part, and you can "fake" it by placing a trigger on the link start that will make AI move to the other end.

Making "AI move" could be done in couple of ways: you can simply teleport your AI, matinee-animate him, or set his physics to Flying and just let him continue (should work, but I haven't tried it ). If using the flying option don't forget to turn Walking back on once "jump" is done

https://forums.unrealengine.com/showthread.php?3512-NavLink-and-making-AI-jump

avatar image mikepurvis Aug 21 '14 at 08:15 PM

Thanks, I hadn't seen that link, looks like I was all ready doing the same thing. I'll have to think about how important jumping is if I want to move the project to have C++ as well as blueprints.

avatar image vikhik May 28 '15 at 05:35 AM

Has there been any movement on the "Jump Point actor" you mentioned in this post since last year? :)

I am currently following Mieszko's tutorials, but I would appreciate it if I didn't have to go and extend it to make proper jumping, instead of flying!

avatar image Alexander Paschall ♦♦ EPIC May 28 '15 at 03:00 PM

It was decided that the way it should work is that you would make a blueprint with a geometric shape to overlap, then that overlap would trigger the jumping event. So you will want to take a look at Miesko's explanation from the forum post above.

avatar image mikepurvis May 28 '15 at 03:13 PM

Shortly after this original post I extended the NavLinkProxy in C++ and have had jumping in the game since.

Here is a link showing video of the result. Video UE4 Jumping Nav

avatar image John Alcatraz Sep 09 '15 at 02:13 AM

Hey Alex! Where have Mieszko explained how to do this in blueprint? Sorry, I can't see it. The link with a tutorial he posted seems to be down.

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

If you will do this using C++ then here is good guide:

https://forums.unrealengine.com/showthread.php?3512-NavLink-and-making-AI-jump

more ▼

answered Aug 21 '14 at 07:46 PM

avatar image

nonder
131 13 22 32

avatar image mikepurvis Aug 21 '14 at 07:53 PM

Thanks, that link is a great resource.

So far I have tried to keep the project Blueprint only. If I need to go to C++ for this 1 feature it will effect the whole project. Also, it will mean that, "No, you can not actually make a complete game in blueprint only".

It would be better if they exposed the variables so the Nav Link could be extended.

(comments are locked)
10|2000 characters needed characters left
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