To be honest, i don't really know how this code works. All i did was to optimize it for Android. I never questioned it's inner workings much. IIRC, the cloth is attached to some fixed points (i can't remember where these come from, but if you look closely, you should be able to find that part). Maybe that's missing here, which might be reason why if just drops down? From my own tests, i recall that making it interact with complex meshes doesn't work really well. Maybe it's better to use a simplified collision mesh for the cloth instead of using the real model for the simulation.