Q:

3D моделирование в C#, накладывание одного объекта на другой, с чего начать

Пример для понимания моей цели: полотенце падает на чайник -> полотенце лежит на чайнике
С помощью чего это возможно реализовать, и чем удобней? wpf, opengl, unity...
В интернете немало библиотек для реализации 3d, но какая подходит для обработки падения под весом гравитации и "расползания" полотенца по поверхности чайника?

A:

Погуглите "физика ткани" для C#.
Скорее всего, Вам понадобится массив точек фигуры, в котором каждая точка (вершина сетки) подвержена физическим силам (сила гравитации как функция от массы, натяжение соседних с другими вершинами связей, сила упругости поверхности, на которую падает ткань и каждая её точка, сила трения с поверхностью, по которой ткань скользит или скользить не может).
Начните с математической модели. опишите сферу по точкам (возьмите не сильно много точек). Для начала - замечательной "сферой" будет куб. Возьмите плоскость 3х3 квадрата (16 вершин). Задайте вершинам плоскости параметры. Задайте вершинам "сферы" параметры. Проведите эксперимент в текстовом режиме. Дальше уже можно будет эту модель привязать к любой графике.
И касательно OpenGL, могу сказать, что после построения описанной выше математической (физической) модели, Вы легко сможете повторить её уже в шейдерах (программах для графического процессора) в рамках OpenGL Shading Language. (Презентация на тему) (Вводная статья по шейдерам) 
Cloth simulation - симуляция ткани на шаре от GeForce (и не только).

