You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you queue free a level that has geometry, and instantiate new one, call bake_nav_mesh, the nav mesh will bake new mesh using geometry from nodes that were marked to be deleted. Calling it with "call_deferred" also does not help. you have to wait more then couple of frames to rebake it again properly (probably one physical frame tick instead of main frame tick).
Group_With_Children needs to be selected.
bake_bug.mp4
Steps to reproduce
See attached project.
Set nav mesh baking to group wtih children
Queue Free a node that contributes to baking
Instantiate new one and call rebaking of navmesh
try to call rebaking in call_deferred (should be same result)
Note: The node will only be freed after all other deferred calls are finished. Using this method is not always the same as calling Object.free through Object.call_deferred.
I'd say this is to be expected, queue_freed nodes are still there, if you want to make sure they don't affect anything you should also remove them from the tree, I don't think we should add additional checks to the navigation code to exclude nodes that are waiting to be freed
I am not sure what even creates the assumption that there could be an update link between nodes and something that bakes things based on parse geometry, does not matter if it is navmesh baking, lightmap baking, particle baking, xyz baking.
The navmesh baking is indifferent what the origin of the geometry data is that is used by the baking. It does not even acknowledge the existence of something like a Node or a SceneTree.
Tested versions
System information
Issue description
When you queue free a level that has geometry, and instantiate new one, call bake_nav_mesh, the nav mesh will bake new mesh using geometry from nodes that were marked to be deleted. Calling it with "call_deferred" also does not help. you have to wait more then couple of frames to rebake it again properly (probably one physical frame tick instead of main frame tick).
Group_With_Children needs to be selected.
bake_bug.mp4
Steps to reproduce
See attached project.
Minimal reproduction project (MRP)
navigation.zip
The text was updated successfully, but these errors were encountered: