No path data generated if agent radius is changed

Hi,

I tried creating path data in a very small simple level. First I create the volume and use default values for everything. The nav data is created properly. However if I do a tiny change in the RecastNavmesh-Default object like changing the agent radius from 35 to 40, the path data is no longer generated, no errors are printed. If I press P I don’t see any path data, if I call ANavigationData::GetRandomPoint() it always returns (0,0,0).

This is a problem because my pawns have a radius of 50. What other values would I need to modify if i want to support path data for agents of radius 50? Where are all the little parameters explained?

Thanks,

Franco

Hey

Could you elaborate on your setup? Are you creating a NavMeshBoundsVolume class? Where are you changing RecastNavemesh defaults? Please provide the setup steps used to help me reproduce this issue locally.

We currently don’t support per-level navmesh configuration. If you want to use non-default agent radius you’ll need to add an entry in NavigationSystem.SupportedAgents (available through ProjectSettings).

Cheers,

–mieszko

Hi ,

I have this very simple test level which is nothing but a large floor slab and a couple of obstacle walls. I then create a NavMeshBoundsVolume and the nav data is generated properly. However, my pawns have a radius of 50, not 35 which is the default value. It is my understanding that if the path finding calculations takes into account an agent radius smaller than it really is they will run into problem trying to go through passages they are too big for.

I tried to modify the radius in the Details tab when selecting the RecastNaveMesh-Default object from the World Outliner.

Thanks,

Franco

Supporting agent radius of 50 on all levels would be ok. What is ARecastNavMesh::AgentRadius for then?

For this purpose, and it’s getting set to whatever you put in the SupportedAgent. The fact that you cannot change this on a recast navmesh instance is mostly for consistency across the game, but to a degree it’s a missing feature :slight_smile: For now just use SupportedAgents.

I just added a supported agent, the project settings added this to my DefaultEngine.ini:

[/Script/Engine.NavigationSystem]
bAutoCreateNavigationData=True
bAllowClientSideNavigation=False
bInitialBuildingLocked=False
bSkipAgentHeightCheckWhenPickingNavData=False
DataGatheringMode=Instant
bGenerateNavigationOnlyAroundNavigationInvokers=False
ActiveTilesUpdateInterval=1.000000
+SupportedAgents=(Name="Default",Color=(B=0,G=255,R=140,A=164),DefaultQueryExtent=(X=50.000000,Y=50.000000,Z=250.000000),NavigationDataClassName=/Script/Engine.RecastNavMesh,AgentRadius=50.000000,AgentHeight=144.000000,AgentStepHeight=-1.000000,NavWalkingSearchHeightScale=0.500000,PreferredNavData=None,bCanCrouch=False,bCanJump=False,bCanWalk=True,bCanSwim=False,bCanFly=False)
DirtyAreasUpdateFreq=60.000000

But now when I open any level, there is no path data. Even if I change the radius back to 35 on the init file.

Sorry, I didn’t notice that my path data was static and I needed to move a static actor for it to regenerate. It does work fine and the default agent radius is now 50.

Thanks for the quick answer.