А это смотря каким образом препятсвия определять.
Можно трейсами проагулировать, и из суммы расстояния между нодами одного пути или второго пути , а может и быть и очень много, посмотреть где короче получается.
Например встетил бочку,
VPhysics *pPhysics = GetPhysicObject();
pPhysics->SetTouch( m_fldistToBarrel, GetAbsVelocity(), GetNpcHackedMass() );
Чё-то такое писал для комбайнов когда-то