Танк в данном случае имеет BoxCollider2D и RigidBody2D с гравитацией.
Поверхность земли - это EdgeCollider2D с множеством вершин так что в каждый момент времени танк соприкасается одновременно с десятком вершин.
Задача состоит в том, чтобы танк мог подниматься и опускаться по склонам гор, но при этом не переворачиваться и не съезжать со склонов во время стоянки. Чтобы такого не было я по умолчанию на RigidBody2D ставлю материал Friction 100, что позволяет танку стоять на склоне, а когда нажата клавиша движения, то меняю материал на Friction 0,4, что позволяет танку двигаться.
И все бы ничего, только танк все равно переворачивается на крутых склонах. Как видно на картинке, нос у танка задран вверх.
а чтобы избежать переворотов, мне пришло в голову только повторить эффект гусеницы - т.е. чтобы днище танка повторяло рельеф поверхности земли. Во время соприкосновения с землей можно попытаться считывать ее координаты и строить EdgeCollider2D с такими же точками, только на танке. Не знаю поможет ли, но может есть способ попроще?