C06. High-Quality Normal Maps Generated with Ultimapper
Textures such as defuse maps, normal maps and incidence color maps were used for the face models. With incidence, shading is determined not by light and normal lines, but by cameras and normal lines. By making the outline part brighter, they could depict a softer texture.
Surprisingly, the entire texture size for characters was kept to a resolution of 512×512, to restrict the amount of VRAM that is used. This is a relatively low resolution for a next-generation console. In the initial stages, since they were designing for the next-generation PS3, they used larger data.
But after a while they reassessed whether they actually needed the volume of information that they were using. The result was that they decided to use their wide-ranging expertise and techniques to produce high quality at a lower resolution. As one example, for limb and body material, they used two symmetric materials for the left and right that could be reversed in a U direction. Although the portrayal suffers to a very small degree by dividing the material into two, the resulting memory that is freed up is a major advantage.
The 512 size was not exceptional for normal maps either. The team imported into XSI a face model to which details of about 500,000 polygons had been added with ZBrush. From this, they generated a normal map with Ultimapper. Hideki Sasaki said that to obtain the maximum effect at a low resolution, it was essential to raise the quality of high-res models. He said that if work is performed carefully using XSI's modeling function and subdivision surface, it should be possible to achieve sufficient quality even at low resolution.
To ensure that the normal map data generated with Ultimapper did not lose information through compression when output as game data, they were extremely careful when outputting the data from their own normal map editing software.
So how did they express the wrinkles on Snake's face? They used a technique that blended two normal maps; one with wrinkles and one without. The team also used this animation with blended normal map values in other facial animation work, as will be described later in this article.
It is surprising how many techniques the team used to delete data so that the processing load would not destroy the balance of the game. Snake has visibly aged in this game as compared with previous titles: the work described above shows how much effort was put into creating this new look.
C07. XSI's Cluster Constraint Function: Turning Ideas into Reality
When we asked Mr. Sasaki which functions benefitted the project, he gave an unexpected response. "There were many, but I found cluster constraint extremely useful for animation." Even in the facial rig setup, he used cluster constraint to fix each point cluster of the shape target to the bones. Also, he said that his team used cluster constraint in the following situations.
To minimize processing in MGS4, they used a specification where the tangent color on the console only changes when bones are rotated. If they were fixed just to coordinates, the animation behavior would be correct but the tangent color would not change. In other words, the shading would not change from the default condition. In response to this issue, the team used cluster constraint to fix normal maps and tangents. By doing this, they could input an accurate rotation value to the bone and reproduce correct shading.
Further, shaking items attached to the characters' clothes were mostly expressed in both the game action and the event demos with simulations on the console. However, there were also some event demo scenes with extreme action where simulation control was difficult. In these cases, they used animation that was simulated with XSI's Syflex. The flow for the main operations in this process was as follows.
Mr. Sasaki explained, "Cluster constraint can be set for all kinds of components, such as apexes, polygons and edges. The fact that the fixing function is available as standard even for normal maps and tangents is typical of the rich features of XSI. If it wasn't for the excellent functionality of cluster constraint, we could not have achieved our facial rig setup ideas or our technique for transferring cross-simulation to bones."
C08. XSI Animation
Just the event demo videos in MGS4 are nine hours long. Players can enjoy the longest-ever real-time movie clips used in a game, which are more than three times longer than a Hollywood blockbuster. Even so, some scenes were cut out to maintain the tempo, so the pacing of the video is quite fast.
The team used motion capture for the movement of the characters in the event demos. But for the other motions in the game action, the motion team manually added movements. They focused on how they thought a man of Snake's age should move. Manual animation is also indispensable because of the flexible specification changes that it allows. The total number of motions is 1,700 just for Snake and 4,800 for enemies (such as regular PMC or militia soldiers). And when including the boss characters and facial animation, the total number of motions in the game is about 10,800.
The motion manager, Masahiro Yoshinaga, had the following to say about the superior qualities of the XSI animation environment. "I started out in cell animation, so I like to think about the image frame by frame when adding animation. The animation FCurve is easy to manipulate in XSI, and you can finely control partial motions exactly as you want without destroying the original movement. Also, the high-speed animation playback environment made it easy for us to check the motion before outputting it to the console."
When creating body motions and facial animation, the team needed to create a number of motion variations based on a reference motion. If the reference was a motion pause or facial, they used animation mixer clips so that the expression presettings were saved in a library to make them easier to use. They then imported these presettings, applied the basic facial expressions, and added more detail. Mr. Yoshinaga said that effectively utilizing the animation mixer in this way enabled them to perform efficient work preparations.
During the game action, Snake goes through many different motions such as standing up, bending over and holding a gun. Snake needed to be able to hold a gun during all these movements.
However, creating motion patterns for each of the different gun shapes was not realistic. Instead, first they created motion categories for weapons that had similar shapes, and set information about where the hand held the gun, known as "connect points", to each weapon. Then, the programmers performed a process that aligned the hand positions, which automatically linked the weapons with the motions and made the motions compatible with different weapon variations.
Textures such as defuse maps, normal maps and incidence color maps were used for the face models. With incidence, shading is determined not by light and normal lines, but by cameras and normal lines. By making the outline part brighter, they could depict a softer texture.
Surprisingly, the entire texture size for characters was kept to a resolution of 512×512, to restrict the amount of VRAM that is used. This is a relatively low resolution for a next-generation console. In the initial stages, since they were designing for the next-generation PS3, they used larger data.
But after a while they reassessed whether they actually needed the volume of information that they were using. The result was that they decided to use their wide-ranging expertise and techniques to produce high quality at a lower resolution. As one example, for limb and body material, they used two symmetric materials for the left and right that could be reversed in a U direction. Although the portrayal suffers to a very small degree by dividing the material into two, the resulting memory that is freed up is a major advantage.
The 512 size was not exceptional for normal maps either. The team imported into XSI a face model to which details of about 500,000 polygons had been added with ZBrush. From this, they generated a normal map with Ultimapper. Hideki Sasaki said that to obtain the maximum effect at a low resolution, it was essential to raise the quality of high-res models. He said that if work is performed carefully using XSI's modeling function and subdivision surface, it should be possible to achieve sufficient quality even at low resolution.
To ensure that the normal map data generated with Ultimapper did not lose information through compression when output as game data, they were extremely careful when outputting the data from their own normal map editing software.
So how did they express the wrinkles on Snake's face? They used a technique that blended two normal maps; one with wrinkles and one without. The team also used this animation with blended normal map values in other facial animation work, as will be described later in this article.
It is surprising how many techniques the team used to delete data so that the processing load would not destroy the balance of the game. Snake has visibly aged in this game as compared with previous titles: the work described above shows how much effort was put into creating this new look.
C07. XSI's Cluster Constraint Function: Turning Ideas into Reality
When we asked Mr. Sasaki which functions benefitted the project, he gave an unexpected response. "There were many, but I found cluster constraint extremely useful for animation." Even in the facial rig setup, he used cluster constraint to fix each point cluster of the shape target to the bones. Also, he said that his team used cluster constraint in the following situations.
To minimize processing in MGS4, they used a specification where the tangent color on the console only changes when bones are rotated. If they were fixed just to coordinates, the animation behavior would be correct but the tangent color would not change. In other words, the shading would not change from the default condition. In response to this issue, the team used cluster constraint to fix normal maps and tangents. By doing this, they could input an accurate rotation value to the bone and reproduce correct shading.
Further, shaking items attached to the characters' clothes were mostly expressed in both the game action and the event demos with simulations on the console. However, there were also some event demo scenes with extreme action where simulation control was difficult. In these cases, they used animation that was simulated with XSI's Syflex. The flow for the main operations in this process was as follows.
- Run a simulation with Syflex to depict the shaking of the clothes.
- Convert the cached simulation results as a shape target.
- Use cluster constraint control to fix the bone to the point group of the object that was controlled with the shape.
- Perform bone envelope control for the actual model to be used on the console. (The concept is the same as for the facial rig)
Mr. Sasaki explained, "Cluster constraint can be set for all kinds of components, such as apexes, polygons and edges. The fact that the fixing function is available as standard even for normal maps and tangents is typical of the rich features of XSI. If it wasn't for the excellent functionality of cluster constraint, we could not have achieved our facial rig setup ideas or our technique for transferring cross-simulation to bones."
C08. XSI Animation
Just the event demo videos in MGS4 are nine hours long. Players can enjoy the longest-ever real-time movie clips used in a game, which are more than three times longer than a Hollywood blockbuster. Even so, some scenes were cut out to maintain the tempo, so the pacing of the video is quite fast.
The team used motion capture for the movement of the characters in the event demos. But for the other motions in the game action, the motion team manually added movements. They focused on how they thought a man of Snake's age should move. Manual animation is also indispensable because of the flexible specification changes that it allows. The total number of motions is 1,700 just for Snake and 4,800 for enemies (such as regular PMC or militia soldiers). And when including the boss characters and facial animation, the total number of motions in the game is about 10,800.
The motion manager, Masahiro Yoshinaga, had the following to say about the superior qualities of the XSI animation environment. "I started out in cell animation, so I like to think about the image frame by frame when adding animation. The animation FCurve is easy to manipulate in XSI, and you can finely control partial motions exactly as you want without destroying the original movement. Also, the high-speed animation playback environment made it easy for us to check the motion before outputting it to the console."
When creating body motions and facial animation, the team needed to create a number of motion variations based on a reference motion. If the reference was a motion pause or facial, they used animation mixer clips so that the expression presettings were saved in a library to make them easier to use. They then imported these presettings, applied the basic facial expressions, and added more detail. Mr. Yoshinaga said that effectively utilizing the animation mixer in this way enabled them to perform efficient work preparations.
During the game action, Snake goes through many different motions such as standing up, bending over and holding a gun. Snake needed to be able to hold a gun during all these movements.
However, creating motion patterns for each of the different gun shapes was not realistic. Instead, first they created motion categories for weapons that had similar shapes, and set information about where the hand held the gun, known as "connect points", to each weapon. Then, the programmers performed a process that aligned the hand positions, which automatically linked the weapons with the motions and made the motions compatible with different weapon variations.
![[Image: thepatriotssig.png]](https://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/General/thepatriotssig.png)