Во первых, землю, т.е. ландшафт, лучше делать на основе карт высот, а не использовать модель, созданную в Максе. Проще будет бродить в соответствии с геометрией поверхности и главному герою, и ботам (зная координаты X и Z, всегда можно из массива данных высот узнать координату Y).
Во вторых, наложение текстур делать, как уже говорилось выше, шейдерами. Хоть из 4-х текстур, хоть из 16-ти. Где предусмотреть зависимость преобладания конкретной текстуры от карты высот - например, внизу песок, наверху снег/скалы, в середине трава.
Теория и пример реализации - в книге 3d-ландшафты в реальном времени для C++/DirectX. Также можно глянуть здесь - http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series4/Multitexturing.php - для C#/XNA, но принцип тот же.
Насчет тропинок, проходящих не на одной высоте - сделать одну карту высот, где все тропинки на одной высоте. На ее основе рассчитать преобладание цветов всех вершин ландшафта - т.е.наложение текстур. А для рендеринга ландшафта использовать карту высот без тропинок. В итоге наложение текстур на базовый рельеф произойдет с учетом расположения тропинок/дорог.
Т.е. использовать два массива данных высот.