Unitysteer Spherical Obstacle Repulsion problems

Anyone knows how SteerForSphericalObstacleRepulsion works? I’m trying to implement this steer behavior but the char ignores the obstacles and keeps hitting them. I’ve added a Radar to the char, a steer for point and a SteerForSphericalObstacleRepulsion behavior, I have added the obstacles script to the obstacle but the char still hits the obstacle. . .any guess?

P.s. I’m using Unitysteer 2.5b3

You also have to assign the obstacles to a layer and add that layer to the radar “obstacle layers” and “layers checked”.

After looking through the code, if you are setting the station as a vehicle, you need to remove it:

(From Radar):

      for (int i = 0; i < _detectedObjects.Count; i++) {
          var d = _detectedObjects*;*
  • var v = d as Vehicle;*
  • if (v != null && (v.enabled || _detectDisabledVehicles)) {*
    _vehicles.Add(v);
    }
    else {
    _obstacles.Add(d);
    }
    }
    (And now from repulsion)
  •  if (Vehicle.Radar.Obstacles == null || !Vehicle.Radar.Obstacles.Any())*
    
  •  {*
    
  •  	return avoidance;*
    
  •  }*
    

As you can see, it will only detect non-vehicle objects

Ensure that the detection radius variable in the Radar script has been set to a value that can encompass the max speed of your vehicle multiplied by the estimation time of SteerForSphericalObstacleRepulsion.

In other words if max speed is 10, and the estimation time is 1, make sure your detection radius is at least greater than 10.