The project proposed to answer the question “how can cloth simulation be used to create dynamic motion in garments for real-time graphics applications?”. This was investigated by comparing cloth simulation techniques and evaluating which creates the most visually realistic garment behaviour in real-time.
|
The intention behind the application created to assist in answering this question was to create a simulation which presented believable garment behaviour in real-time.
Using DirectX and C++, a standalone application was created with an ergonomic character model appearing to walk in a solitary environment so as not to distract from the simulation. Bullet Physics Library was chosen to handle soft bodies, rigid bodies and collision detection within the application. A garment was created by Stuart MacBean in Maya, which was then turned into a soft body using the Dynamica plug-in. The cloth simulation itself is being implemented using the mass-spring model, which uses the concept of masses being connected together in a grid style through springs. A character representation was created out of kinematic rigid bodies. These bodies were transformed by loading in a skeletal animation, and assigning the appropriate rigid body meshes to their relevant joint. There were issues with the collisions in the project - with soft bodies often clipping through rigid bodies. After many different methods, such as increasing the number of vertices in a mesh, increasing the physics step, and completely removing animation, it was clear there was still an issue. To combat these issues, constraints were included, connecting the garment to the character representation to vastly reduce the number of areas of clipping. Different types of garments could be created from this soft body implementation. As the garment is created using the mass spring model, these springs can have their stretch length adjusted to emulate different types of materials, for example a small stretch length could appear similar to denim. |