Начнём с того, что любой уровень в игре представляет собой систему 3d объектов, или геометрий, как отметили выше. Текстура - это всего лишь картинка, которая "накладывается" на эти объекты, сквозь неё объект провалиться не может. Никакой силы тяжести, ровно как и каких либо других сил в играх нет - это же не реальный мир. Взаимодействие объектов игры между собой определяется коллизиями, или столкновениями, которые действительно рассчитываются программно, с помощью скриптов физического движка. В некоторых случаях коллизии могут быть рассчитаны неправильно, из-за чего персонаж и проваливается за границы других объектов. Что же касается "неадекватного" поведения персонажа в этих случаях - не претендую на истину в последней инстанции, но это может происходить из-за того, что для какой-то части объекта (вашего персонажа) коллизии работают, а для какой-то нет, в результате чего запускаются взаимоисключающие анимации.