During Siggraph Asia 2015 held in Kobe, Japan, Square Enix Graphics R&D engineer Witawat Rungjiratananon held a lecture titled Physics Simulation R&D at Square Enix, mentioning a lot of interesting details about the technology behind Final Fantasy XV.
Reading the presentation paper (integrated with slides from the game’s official Twitter account), we learn that recent research has delivered techniques for fast and high-detailed vertex-based simulation for cloth and hair, meaning that the simulation can be done smoothly for each vertex. The problem is that these techniques work well with silky smooth materials, but not as well with stiff materials like stiff hair and leather.
In order to simulate those kind of materials, the team at Square Enix needed to include physics simulation, and used a traditional bone structure that allows both the implementation of physics and manual animation control.
The team enhanced control by the artists by developing a highly-customizable system that lets them set constraints on the animation of the bones as freely as possible. That enables artists to simulate not only cloth and hair with various materials, but also interesting physics behaviors of foods and muscles.
Every parameter is normalized into a range of zero to one. Even though this might cause parameters to have wrong theoretical measurements, it simplifies the task of the artists.
Since the hairstyle plays a very important role in a character’s image, a look designed by an artist is preferable to a realistic and natural one. According to the experience of the Final Fantasy XV team, artist-designed hairstyles tend to defy the laws of physics, so physics simulation systems out of the box end up breaking the character’s look.
In order to keep the desired look without limiting the freedom of movement of the hair when the character is in action, the team needed to “break the physics.” The system used allows objects to have zero gravitational mass, so gravity does not alter the look. Despite that, objects are still considered having mass for inertia and the calculation of other external forces.
We also learn about the procedural animation of grass and fur. Several researches managed to simulate millions of grass blades in an open world, but this is not viable due to limited resources, especially on game consoles. On the other hand, a light-weight procedural vertex animation system was considered a more reasonable choice.
Periodically waving a grassy field can be achieved with acceptable performance on the GPU. In an earlier version of the system, the artists could control the waving of grassy fields with wave functions. Unfortunately, this caused artists to struggle with many trial-and-error iterations of randomly changing parameters, making reproducing the image they had in mind difficult.
To solve the problem, the team stopped using wave functions, and instead is now using an user-friendly interface that lets artists draw the waving style they have in mind directly.
In order to generate unpredictable behavior, the system introduces a traveling wind that traverses through the world randomly. Square Enix developed a system that allows artists to draw the pattern of that traveling wind on a texture. It works perfectly well, and it convinced artists to put more effort into the process.
On top of that, wind also interacts with clothes and hair in order to make them look more believable and less procedural.