How can I change the Navigation cost for Roads created with the Landscapespline tool? I tried changing the RoadMesh to a DynamicObstacle and adding a NavArea with lower cost to it. However, now when I start the Project I get ensure condition failures from the SplineMeshComponent:
bool USplineMeshComponent::DoCustomNavigableGeometryExport(FNavigableGeometryExport& GeomExport) const
{
// the NavCollision is supposed to be faster than exporting the regular collision,
// but I'm not sure that's true here, as the regular collision is pre-distorted to the spline
if (GetStaticMesh() != nullptr && GetStaticMesh()->GetNavCollision() != nullptr)
{
const UNavCollisionBase* NavCollision = GetStaticMesh()->GetNavCollision();
if (ensure(!NavCollision->IsDynamicObstacle())) // This ensure fails
{
...
void USplineMeshComponent::UpdateBounds()
{
Super::UpdateBounds();
CachedNavigationBounds = Bounds.GetBox();
if (const UStaticMesh* Mesh = GetStaticMesh())
{
if (const UNavCollisionBase* NavCollision = Mesh->GetNavCollision())
{
// Match condition in DoCustomNavigableGeometryExport
const FBox NavCollisionBounds = NavCollision->GetBounds();
if (ensure(!NavCollision->IsDynamicObstacle()) // This ensure also fails
&& NavCollision->HasConvexGeometry()
&& NavCollisionBounds.IsValid)
{
const FBoxSphereBounds NavCollisionBoxSphereBounds(NavCollisionBounds);
CachedNavigationBounds = ComputeDistortedBounds(GetComponentTransform(), Mesh->GetBounds(), &NavCollisionBoxSphereBounds);
}
}
}
}