No puedo decir con certeza qué tipo de enfoque fue utilizado por los desarrolladores de WC3, pero se parece bastante a Hierarchical Annotated A *. El radio de la unidad definido en el WC3Editor se usó tal cual para la escala del modelo 3D, pero el tamaño real de la unidad para la búsqueda de ruta fue discreto, tal vez algo así como unitSize = (int) (unitRadius / 10). No estaba basado en vectores, eso es seguro.
Digamos que hay muchos nodos de ruta que forman una cuadrícula de nodos de alta resolución. La unidad simple como un necrófago tiene un tamaño de 2, por lo que para colocarla en algún lugar de una cuadrícula necesitamos 4 nodos de camino libre cerca uno del otro. Un héroe caballero de la muerte es un poco más grande con un tamaño de 3, ocupando 9 nodos de ruta en total. Ahora colocamos 2 zigurats juntos dejando un espacio de 2 nodos en todo el medio, y enviamos un ghoul y un caballero de la muerte al otro lado. Ghoul podrá pasar entre dos zigurats, mientras que el caballero de la muerte tendrá que moverse. ¿Cómo se puede determinar?
Para ver si un nodo puede acomodar una unidad de tamaño específico, asignemos un valor de autorización especial a cada nodo que defina un tamaño de unidad máximo permitido. Básicamente, significa que se realizaron varias verificaciones de límite para un nodo, y los límites más grandes posibles se recordaron como la autorización del nodo. Entonces, cuando queremos colocar un caballero de la muerte en algún nodo, se vuelve tan simple como comparar la separación del nodo con el tamaño del caballero de la muerte. Por supuesto, las cosas se volverán mucho más complejas cuando haya varias unidades saltando compitiendo por nodos, pero esa es otra historia.
Para más detalles, puede consultar este artículo:
http://harablog.wordpress.com/2009/01/29/clearance-based-pathfinding/