1-way cloth-object interaction with invisible object (0:14)
Motion calculated using Eulerian integration
Fully textured cloth object (0:00)
Movable and rotatable camera (0:01)
Realtime rendering
Performance:
30x30 cloth at 53 fps on i7-8750H Processor and GTX 1060 Graphics Card
Framerate visible on top right corner of video (slightly reduced due to recording software)
Challenges and Difficulties:
It is very easy for a mass-spring cloth simulation to go wrong. With so many rapidly changing forces in play at a time, the simulation can become very unstable very fast. This is true in my case as well. Tweaking the properties of the mass-spring system wasn't very helpful in keeping my cloth from breaking. It was only once I began running many simulation updates at a smaller time step for each rendering cycle that my cloth gained some stability. From there, I kept tweaking the initial parameters until my cloth reacted smoothy and realistically. That was until I implemented object collision. Contact with an object would force nodes apart causing the spring forces to get very large. While I was able to somewhat mitigate it, the initial placement of the cloth nodes and the collision object is the only reason the collision appears so smooth in the simulation.
When nodes of a cloth are on opposite sides of the edge of an object, the edge visually clips through the cloth. The object is left invisible to prevent this clipping.