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"

More level Streaming with Static NavMesh

Simliar to this: https://udn.unrealengine.com/questions/381719/staticnavmesh-and-level-streaming.html and others.

But, different, larger issues with the approach.

Our understanding is that in order for the master persistent level's nav mesh to dole out chucks to the sublevels, all the sublevels (with nav boxes) need to be loaded concurrently. This means that they all have to fit in memory, and presently, even with half a dozen levels, its becoming unmanageable. Similarly, requiring all the sublevels to occupy unique bounding boxes, with no overlaps, is also problematic as the # of levels grows.

Given that these concerns are voiced broadly, has this been identified as a priority to resolve? If not, we are willing to invest our dev time to address these issues. We believe the existing nav meshes authored with the sublevels outside of the global persistent context have value, and should be used at runtime. Is this possible? What roadblocks could be forseen with this approach?

Thanks!

Product Version: Not Selected
Tags:
more ▼

asked Sep 12 '18 at 02:51 PM in Using UE4

avatar image

Answers.Archive STAFF
1.9k 197 306 677

avatar image jinngonqui Mar 15 '19 at 07:25 PM

It doesn't look like this important functionality is available in 4.21.2 in a "drag-n-drop" fashion (referring to the pre-existing workflow of adding a NAV mesh bounds volume and building it). Mieszko, is there an update in 4.21.2 for this topic?

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

1 answer: sort voted first

Hi Brent,

We actually plan to have a stab at this early next year, so if you can hold off you might just get improvements without spending dev time on it.

If you prefer to work on this instead the way I will approach it is by adding additional options to NavMeshBounds volume that will allow it to figure out where does it reside in relation to other levels and most importantly in relation to persistent's RecastNavMesh's origin. The change will also require to store navmesh generation properties (mainly tile sizes) to be able to discard "local" navmeshes that would not fit the whole navmesh tile structure once streamed in. Once this is in it should be relatively straightforward to be able to load in navigation data and append read navigation tiles to the persistent navmesh.

Cheers,

--mieszko

more ▼

answered Sep 12 '18 at 02:51 PM

avatar image

Answers.Archive STAFF
1.9k 197 306 677

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM

Hi Mieszko,

Appreciate the responsiveness, and glad to hear its on the list. We will probably take a stab at it in the meantime. In our situation, we only ever care about the incoming meshes and volumes, as there are none that carry over between levels. This may simplify our case further over the general one.

Is there a way to follow your dev in this area when it begins?

Thanks,

Brent

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM +

Hello Mieszko,

I'm the programmer at Toys For Bob who will be investigating and doing this work. I'd love to be able to pick your brain at more length about our best approach.

Thanks!

Steve

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM +

Hi Mieszko, do you have an approximate date for when improvements to streaming static navmesh will occur?

We are able to get static navmesh streaming to work but it is incredibly inconvenient. Everytime navmesh is rebuilt, every sub-level requires saving. This means that navmesh cannot be built if any of the sub-levels are checked out. Everytime a sub-level is modified, it breaks all navmesh for its P-level (not just the single sub-level).

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM

Hey Nicholas,

Have you tried out the code change I've included in this threat (this one)? The new approach will be similar in concept - supporting multiple navigation data instances for a single navigation agent type (now there's only one per agent).

Regarding the timeline, I've started working on it, but I'm doing the ground work first (finally ripping out AI navigation code fully out of the engine code). I estimate that the new approach will be ready to use in about two months (provided nothing high priority pops up).

Cheers,

--mieszko

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM

We have not tried out that code change since we need support for navigation data from multiple active sub-levels at a time.

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM

Right, so this won't help. The final solution will have a tool for that - a navigation datas' graph that will be used to find meta paths. Pathfollowing component already handles those. I guess you need to wait for my change then.

avatar image Answers.Archive STAFF Sep 12 '18 at 02:51 PM

Sounds good, thanks!

(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