private Vector3 GetWanderForce() { var groupForces = steering.CalculateGroupForces(GetNeighbours()); var steerForce = Vector3.zero; steerForce += 1f * groupForces.SeparationForce; if (steerForce.sqrMagnitude > 1f) { return(steerForce.normalized); } steerForce += 0.3f * groupForces.CohesiveForce; if (steerForce.sqrMagnitude > 1f) { return(steerForce.normalized); } steerForce += 0.3f * groupForces.AlignmentForce; if (steerForce.sqrMagnitude > 1f) { return(steerForce.normalized); } // Destination Force steerForce += 1f * steering.SeekForce(path[curPathIndex]); if (steerForce.sqrMagnitude > 1f) { return(steerForce.normalized); } return(steerForce.normalized); }