User Tools

Site Tools


pidi_advanced_skin_shader_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pidi_advanced_skin_shader_2 [2020/08/25 02:03]
irrsoft [Tension Map Wrinkles]
pidi_advanced_skin_shader_2 [2020/08/30 02:50] (current)
irrsoft [Tension Maps vs Region Maps comparison]
Line 373: Line 373:
  
  
-###+<WRAP justify>
 The second method included with this tool to add dynamic wrinkles to your characters is called Region Maps approach. With this setup, instead of having a "Rest Pose" normal map and a "Wrinkles" normal map you can have any number of expression poses each one with its own unique wrinkles map, allowing higher quality results. While setting it up is a more involved task that has many more steps than the Tension Maps approach the results you can get with it are far more consistent, easier to customize and control, and allow for a much higher quality at the cost of a higher performance impact.  The second method included with this tool to add dynamic wrinkles to your characters is called Region Maps approach. With this setup, instead of having a "Rest Pose" normal map and a "Wrinkles" normal map you can have any number of expression poses each one with its own unique wrinkles map, allowing higher quality results. While setting it up is a more involved task that has many more steps than the Tension Maps approach the results you can get with it are far more consistent, easier to customize and control, and allow for a much higher quality at the cost of a higher performance impact. 
-###+</WRAP>
  
-###+<WRAP justify>
 **However, when dynamic wrinkles are disabled these shaders are far more efficient than their tension map counterparts so it is always recommended that if you are not going to use Dynamic Wrinkles at all you assign a Regions Map shader to your characters, even in Mobile.** **However, when dynamic wrinkles are disabled these shaders are far more efficient than their tension map counterparts so it is always recommended that if you are not going to use Dynamic Wrinkles at all you assign a Regions Map shader to your characters, even in Mobile.**
-###+</WRAP>
  
-\\+<WRAP justify>
 {{ :advss_createwrinkleasset.jpg?direct |}} {{ :advss_createwrinkleasset.jpg?direct |}}
-\\+</WRAP>
  
-###+<WRAP justify>
 Let's add regions map wrinkles to our model, but first we will need to create a Wrinkles Data Asset which will act as a list containing all of the Wrinkle Normal maps available for this character.  Let's add regions map wrinkles to our model, but first we will need to create a Wrinkles Data Asset which will act as a list containing all of the Wrinkle Normal maps available for this character. 
-###+</WRAP>
  
  
Line 394: Line 394:
 \\ \\
  
-###+<WRAP justify>
 And on this asset, let's add all the normal maps we have generated for this model to the corresponding list. The Wrinkle Data Asset is designed to help you organize your maps, especially in projects where there are dozens of normal maps per character. On top of this, as more updates are released for this tool the Wrinkle Data Asset will gain additional features and settings that will allow you to have further control over the wrinkles on your character in an easy, reusable "template-like" fashion. In our case, we only have one wrinkle normal map on this character. And on this asset, let's add all the normal maps we have generated for this model to the corresponding list. The Wrinkle Data Asset is designed to help you organize your maps, especially in projects where there are dozens of normal maps per character. On top of this, as more updates are released for this tool the Wrinkle Data Asset will gain additional features and settings that will allow you to have further control over the wrinkles on your character in an easy, reusable "template-like" fashion. In our case, we only have one wrinkle normal map on this character.
-###+</WRAP>
  
 \\ \\
Line 402: Line 402:
 \\ \\
  
-###+<WRAP justify>
 Next, we need to create a regions map. A regions map defines how the different normal maps, the one from the rest pose and those from the different wrinkle maps will be blended in up to four different zones (channels R, G, B and A). Each channel represents an area of the face and each one of them will be multiplied by unique per-pose blending values. You can have one general regions map to be shared across all expression poses or override it with a unique regions map on any of the individual poses. Next, we need to create a regions map. A regions map defines how the different normal maps, the one from the rest pose and those from the different wrinkle maps will be blended in up to four different zones (channels R, G, B and A). Each channel represents an area of the face and each one of them will be multiplied by unique per-pose blending values. You can have one general regions map to be shared across all expression poses or override it with a unique regions map on any of the individual poses.
-###+</WRAP>
  
  
Line 411: Line 411:
 \\ \\
  
-###+<WRAP justify>
 Once this is ready, assign the Wrinkle Data Asset, Head Bone and Regions Map to their corresponding slots. Then, press on the "ADD NEW WRINKLES SNAPSHOT" button Once this is ready, assign the Wrinkle Data Asset, Head Bone and Regions Map to their corresponding slots. Then, press on the "ADD NEW WRINKLES SNAPSHOT" button
-###+</WRAP>
  
 \\ \\
Line 419: Line 419:
 \\ \\
  
-###+<WRAP justify>
 This will add a new sub-group called **WRINKLE DATA SET** followed by a number. This data set represents a pose or expression that your character can make and contains the information of which bones or blendshapes are used for said expression and thus should be tracked, which normal map corresponds to said expression, which region map to use to control its influence in case we want to override the default one, the influence of each one of the four regions in the region map (RED, GREEN, BLUE and an inverse ALPHA channel) and finally the blendshapes and bones that have to be tracked to detect whether the character is performing the expression described in the snapshot or not This will add a new sub-group called **WRINKLE DATA SET** followed by a number. This data set represents a pose or expression that your character can make and contains the information of which bones or blendshapes are used for said expression and thus should be tracked, which normal map corresponds to said expression, which region map to use to control its influence in case we want to override the default one, the influence of each one of the four regions in the region map (RED, GREEN, BLUE and an inverse ALPHA channel) and finally the blendshapes and bones that have to be tracked to detect whether the character is performing the expression described in the snapshot or not
-###+</WRAP>
  
-###+<WRAP justify>
 You **DO NOT** need to define a snapshot for the rest pose, this is generated automatically and stored internally. Once you have added all the blendshapes and bones that you want to track to the lists you just need to place your character in the pose you want to save and click on the **SAVE POSE SNAPSHOT** button. You **DO NOT** need to define a snapshot for the rest pose, this is generated automatically and stored internally. Once you have added all the blendshapes and bones that you want to track to the lists you just need to place your character in the pose you want to save and click on the **SAVE POSE SNAPSHOT** button.
-###+</WRAP>
  
 \\ \\
Line 432: Line 432:
  
  
-###+<WRAP justify>
 In the Tension Map vs Region Map demo scene included with the asset you can see a fully set up example of the Regions Map usage with the Old Man Demo. One wrinkle snapshot has been created for each one of the five different blendshapes that the model has. In all of them the same normal map has been used but some of the expressions make use of a different region map that instead of defining regions for the sides of the mouth and both sides of the brow cover instead the brow and the forehead. In the Tension Map vs Region Map demo scene included with the asset you can see a fully set up example of the Regions Map usage with the Old Man Demo. One wrinkle snapshot has been created for each one of the five different blendshapes that the model has. In all of them the same normal map has been used but some of the expressions make use of a different region map that instead of defining regions for the sides of the mouth and both sides of the brow cover instead the brow and the forehead.
-###+</WRAP>
  
-###+<WRAP justify>
 In the CGI Stylized demo you can see another usage of this technique, this time in a character whose animation is fully driven by bone animation and which uses two different wrinkle maps and two region maps for the small expressions set In the CGI Stylized demo you can see another usage of this technique, this time in a character whose animation is fully driven by bone animation and which uses two different wrinkle maps and two region maps for the small expressions set
-###+</WRAP>
  
-###+<WRAP justify>
 While the regions map approach works on mobile devices as well as in most devices that support RenderTextures (which are used internally to generate additional wrinkle data) they are CPU bound and thus may not be the most performant in low end devices. For a full breakdown of the pros and cons of each method please check the table below. While the regions map approach works on mobile devices as well as in most devices that support RenderTextures (which are used internally to generate additional wrinkle data) they are CPU bound and thus may not be the most performant in low end devices. For a full breakdown of the pros and cons of each method please check the table below.
-###+</WRAP>
  
 \\ \\
Line 454: Line 454:
 | Main wrinkle calculation processor |  GPU  |  CPU  | | Main wrinkle calculation processor |  GPU  |  CPU  |
 | Mobile Ready |  ✓  |  ✓  | | Mobile Ready |  ✓  |  ✓  |
-| SRP Ready |  ✓  |   |  +| SRP Ready |  ✓  |  ✓  |  
 | Supports Decals on Mobile |  X  |  ✓  | | Supports Decals on Mobile |  X  |  ✓  |
 | Max. Reference poses |  3  |  32+  |  | Max. Reference poses |  3  |  32+  | 
 | Max. Wrinkle Normal maps |  1  |  32+  | | Max. Wrinkle Normal maps |  1  |  32+  |
-| Wrinkle Occlusion maps |  With Occlusion Map's Alpha  |  Coming Q1 2020  |+| Wrinkle Occlusion maps |  With Occlusion Map's Alpha  |   |
 | Per Pose Wrinkle Weights |  Automatic, variable  |  Manual, 4 weights per pose  | | Per Pose Wrinkle Weights |  Automatic, variable  |  Manual, 4 weights per pose  |
 | Per Pose Performance Cost |  Stable Performance  |  Additive  | | Per Pose Performance Cost |  Stable Performance  |  Additive  |
Line 473: Line 473:
 \\ \\
  
-###+<WRAP justify>
 Adding overlay or simple decal textures to the skin shaders is very easy. Simply go to the GENERAL SETTINGS tab and set the Decal / Overlay Effects setting to true. This will add a new tab called SKIN FX SETTINGS.  Adding overlay or simple decal textures to the skin shaders is very easy. Simply go to the GENERAL SETTINGS tab and set the Decal / Overlay Effects setting to true. This will add a new tab called SKIN FX SETTINGS. 
-###+</WRAP>
  
 \\ \\
Line 481: Line 481:
 \\ \\
  
-###+<WRAP justify>
 In this tab, you can assign up to two different color maps to be used as overlays each one to be mixed in their own unique way with three blending modes : Masked, Additive and Multiplied. Each one of these two decals can have their own color, specularity / gloss maps and be displayed either on the UV0 or UV1 coordinates channel. In this tab, you can assign up to two different color maps to be used as overlays each one to be mixed in their own unique way with three blending modes : Masked, Additive and Multiplied. Each one of these two decals can have their own color, specularity / gloss maps and be displayed either on the UV0 or UV1 coordinates channel.
-###+</WRAP>
  
 \\ \\
Line 489: Line 489:
 \\ \\
  
-###+<WRAP justify>
 These decals allow you to easily and efficiently add effects such as sweat, wounds, tattoos, war paint etc to your characters while having full control over how it mixes with the skin under them and all their PBR properties. They are influenced by scattering, translucency and wrinkles as the rest of the skin and are available in all platforms. These decals allow you to easily and efficiently add effects such as sweat, wounds, tattoos, war paint etc to your characters while having full control over how it mixes with the skin under them and all their PBR properties. They are influenced by scattering, translucency and wrinkles as the rest of the skin and are available in all platforms.
-###+</WRAP>
  
 \\ \\
  
  
pidi_advanced_skin_shader_2.1598321018.txt.gz · Last modified: 2020/08/25 02:03 by irrsoft