User Tools

Site Tools


xfur_studio_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
xfur_studio_2 [2020/09/01 04:38]
irrsoft [Fur Modules]
xfur_studio_2 [2021/03/16 05:12] (current)
irrsoft
Line 11: Line 11:
 </WRAP> </WRAP>
  
-  * Unity 2018.4 LTS or above. Using of LTS versions of Unity is highly recommended.+  * Unity 2019.or above. Using of LTS versions of Unity is highly recommended.
   * Built-in rendering pipeline or Universal RP / High Definition RP versions 7.x   * Built-in rendering pipeline or Universal RP / High Definition RP versions 7.x
   * Linear color space is highly recommended   * Linear color space is highly recommended
Line 18: Line 18:
   * Models with mirrored / overlapping UVs may not work properly with some modules such as physics and VFX   * Models with mirrored / overlapping UVs may not work properly with some modules such as physics and VFX
   * Use FXAA instead of Temporal Anti-aliasing. Temporal Anti-aliasing does not mix well with high frequency details such as fur and may produce artifacts. Motion Blur based on Motion Vectors may produce a similar issues.   * Use FXAA instead of Temporal Anti-aliasing. Temporal Anti-aliasing does not mix well with high frequency details such as fur and may produce artifacts. Motion Blur based on Motion Vectors may produce a similar issues.
 +  * While XFur Studio 2 is highly optimized and will work with mostly any model it is recommended to use lower polygon counts for the best performance as well as to ensure that your models use fur in only one Mesh or Skinned Mesh renderer.
  
 ---- ----
Line 55: Line 56:
 \\ \\
  
-<WRAP justify> To install either the Universap RP add on or the Hight Definition RP resources simply go to the folder with the name of the pipeline you are using within the PIDI - XFur Studio 2 folder. Inside this folder you will find a unitypackage with all the shaders, demos and content for the given pipeline. Unpack the unitypackage file by double clicking on it and you will be ready to start using XFur Studio 2 on your SRP of choice.</WRAP>+<WRAP justify> To install either the Universal RP add on or the Hight Definition RP resources simply go to the folder with the name of the pipeline you are using within the PIDI - XFur Studio 2 folder. Inside this folder you will find a unitypackage with all the shaders, demos and content for the given pipeline. Unpack the unitypackage file by double clicking on it and you will be ready to start using XFur Studio 2 on your SRP of choice.</WRAP>
  
 \\ \\
Line 73: Line 74:
 \\ \\
  
-<WRAP justify>The database asset automatically tracks, creates, loads and assigns all the resources it needs without requiring you to do any manual setups. It also tells you which rendering pipeline assets have been found and are ready to use, and any other relevant information for your project. While you can use directly the database provided with the asset, you are also free to duplicate it or create a brand new one for your project. In most cases only one database asset is necessary for the entire project</WRAP>+<WRAP justify>The database asset automatically tracks, creates, loads and assigns all the resources it needs without requiring you to do any manual setups. It also tells you which rendering pipeline assets have been found and are ready to use, and any other relevant information for your project. While you can use directly the database provided with the asset, **this is not recommended, and you should either duplicate it or create a brand new one for your project**. In most cases only one database asset is necessary for the entire project</WRAP>
  
 <WRAP justify> <WRAP justify>
Line 90: Line 91:
  
 <WRAP justify> <WRAP justify>
-The default strands asset provided with XFur Studio 2 is procedural, and its first pass controls the red channel while the second pass controls the green channel of the strands texture. In the final XFur Studio shaders the red and green strands are used to provide color variation in the fur (the additional blue and alpha channels are reserved for upcoming features so in custom textures you should leave them empty). If you do not want any color variation in the strands you can use the parameters to generate only red or only green strands.+The default strands asset provided with XFur Studio 2 is procedural, and its first pass controls the red 
 +channel while the second pass controls the green channel of the strands texture. In the final XFur Studio 
 +shaders the red and green strands are used to provide color variation in the fur (the additional blue and 
 +alpha channels are reserved for upcoming features so in custom textures you should leave them empty).</WRAP> 
 +<WRAP>If you do not want any color variation in the strands you can use the parameters to generate only red 
 +or only green strands. Furthermore, this procedural texture can be exported for further editing.
 </WRAP> </WRAP>
  
Line 306: Line 312:
 <WRAP justify> <WRAP justify>
 Finally, from this General Settings tab you can enable or disable any of the Built-in modules as well as verify they do not run into any errors, their version and status ( which may change over time as more features are added or if experimental features are enabled )</WRAP> Finally, from this General Settings tab you can enable or disable any of the Built-in modules as well as verify they do not run into any errors, their version and status ( which may change over time as more features are added or if experimental features are enabled )</WRAP>
 +\\
 +
 +=== Beta Features ===
 +\\
 +<WRAP>Starting with version 2.1.0 you can enable support for **Beta Features** directly from the General Settings Tab. This will update the UI to expose all properties, settings and new parameters currently under development for XFur Studio 2. While we only make available features that have been thoroughly tested and are as usable as possible, these **Beta features** should be used with caution as they may produce errors or incompatibilities with other XFur modules and, more likely, they may suffer multiple changes before they are labeled as stable.</WRAP>
 +<WRAP>**Beta features are not always released in all pipelines at once. Some beta features may be locked to a single rendering pipeline depending on their requirements or may not be compatible with certain devices. Always make a backup of your work before enabling Beta features support in any XFur Studio 2 instance**.</WRAP>
 \\ \\
 === Fur Material Settings === === Fur Material Settings ===
Line 403: Line 415:
  
 <WRAP justify>In an upcoming update, additional settings for each effect including metalness / smoothness and other properties will be made available in order to further extend the capabilities of the VFX module and allow users to simulate more unique characters. On the first release, Snow and Blood colors are fully customizable and additional effects can be "faked" through the use of Painter Objects.</WRAP> <WRAP justify>In an upcoming update, additional settings for each effect including metalness / smoothness and other properties will be made available in order to further extend the capabilities of the VFX module and allow users to simulate more unique characters. On the first release, Snow and Blood colors are fully customizable and additional effects can be "faked" through the use of Painter Objects.</WRAP>
 +
 +\\
 +<WRAP justify>Finally, the XFurStudio2_VFXModule is deeply linked to the XFurStudio2_WindZone object, which handles the global intensity of the wind, snow and rain simulations as well as their global directions. To add a WindZone to the scene, create an empty object and add the XFurStudio2_WindZone component to it.</WRAP>
 +\\
 +{{ :xfur2_windzoneui2.jpg |}}
 +\\
 +<WRAP justify>The Snow intensity and Rain intensity values provided by the WindZone script are further multiplied by the Snow and Rain intensity values in the VFX Module of each instance. This means that setting the Rain intensity in the Wind Zone object to 0 will stop the rain simulation across all instances while setting it to 0 in the VFX module will disable it only for that particular instance. When no Wind Zone object is available, Snow and Rain intensities are set to 1 by default and their direction is set fully downwards ( 0, -1, 0 )</WRAP>
 +
 +<WRAP justify>The wind simulation provided by the Wind Zone script also influences the direction of the Snow and Rain effects for a more realistic behavior. You can control the influence of the wind strength (and its direction) over the Snow and Rain effects independently on their corresponding tabs</WRAP>
  
 \\ \\
Line 421: Line 442:
 \\ \\
  
-==== Painter Objects ====+==== Curly Fur (Beta) ==== 
 +---- 
 +\\ 
 +<WRAP>Introduced in version 2.1 is a brand new beta feature : Curly fur. The current curly fur implementation allows for manual adjustments of curl amount and size on both the X and Y axes and works with procedural and manual fur strand maps, the latter producing often times better results.</WRAP> 
 + 
 +<WRAP>The curls are currently generated in a single direction producing reduced variety in some cases, something that will be addressed in future updates.</WRAP> 
 + 
 +\\ 
 +{{ :xfur2_curly1.jpg |}} 
 +\\ 
 + 
 +<WRAP>To enable the Curly fur parameters simply enable Beta features support in the General Settings tab of the XFur Studio Instance component.</WRAP> 
 + 
 +\\ 
 +{{ :xfur2_curly2.jpg |}} 
 +\\ 
 + 
 +<WRAP>The available parameters control the amount of waves / curls to be generated on the X and Y axes as well as their size. By playing with these parameters you can create many different kinds of curly fur, from thin and well defined “spring-like” curls to wool-like materials, etc.</WRAP> 
 + 
 +<WRAP>Curly fur is compatible with all XFur modules including physics and weather FX.</WRAP> 
 +\\ 
 +==== XFur Studio Painter Object ====
  
 ---- ----
Line 433: Line 475:
 <WRAP justify>Depending on the Paint Mode selected the UI of the Painter Object will automatically adjust itself to expose the right parameters to use, either a Brush color, effects intensity, whether to invert the painting mode (when painting the Fur Mask for example, it allows you to either add or shave away fur) etc.</WRAP> <WRAP justify>Depending on the Paint Mode selected the UI of the Painter Object will automatically adjust itself to expose the right parameters to use, either a Brush color, effects intensity, whether to invert the painting mode (when painting the Fur Mask for example, it allows you to either add or shave away fur) etc.</WRAP>
  
 +
 +<WRAP justify>To add an XFur Painter Object to your scene, simply create an empty game object and add the XFurStudioPainterObject component to it.</WRAP>
  
 <WRAP justify>With future updates, additional Painter Object shapes and features will be added to allow for a more flexible integration with your projects and to expand what is achievable in XFur Studio 2 without any coding experience.</WRAP> <WRAP justify>With future updates, additional Painter Object shapes and features will be added to allow for a more flexible integration with your projects and to expand what is achievable in XFur Studio 2 without any coding experience.</WRAP>
Line 471: Line 515:
 | Adjust brush size |  Shift + horizontal left click drag  | | Adjust brush size |  Shift + horizontal left click drag  |
 | Adjust brush hardness |  Shift + vertical left click drag  | | Adjust brush hardness |  Shift + vertical left click drag  |
-| Adjust brush opacity |  Control + horizontal right click drag  |+| Adjust brush opacity |  Shift + horizontal right click drag  |
 | Switch secondary mode for the active tool |  X  | | Switch secondary mode for the active tool |  X  |
 | Toggle Symmetry mode |  S  | | Toggle Symmetry mode |  S  |
Line 481: Line 525:
 \\ \\
  
-<WRAP justify>While some experience with 3D designing applications is highly recommended to use XFur Studio Designer effectively this is not in any way a requirement and the toolset has been designed to be intuitive and easy to use. To use XFur Studio Designer **open the included XFur Studio Designer scene and drag the model you want to edit into this scene. Do not open the scene in additive mode, ensure that XFur Studio designer is the only open scene and that the mode you want to edit is the only model in the scene.**</WRAP>+<WRAP justify>While some experience with 3D designing applications is highly recommended to use XFur Studio Designer effectively this is not in any way a requirement and the toolset has been designed to be intuitive and easy to use. To use XFur Studio Designer **open the included XFur Studio Designer scene and drag the model you want to edit into this scene. Do not open the scene in additive mode, ensure that XFur Studio designer is the only open scene and that the model you want to edit is the only model in the scene.**</WRAP>
  
 <WRAP justify> The XFur Studio Designer UI is split into two main panels. In the Left Panel you can find options to control the different tools to edit the fur while in the Right Panel you can adjust the fur properties to help you visualize the effects and results better, as well as to fine tune the fur of your character,</WRAP> <WRAP justify> The XFur Studio Designer UI is split into two main panels. In the Left Panel you can find options to control the different tools to edit the fur while in the Right Panel you can adjust the fur properties to help you visualize the effects and results better, as well as to fine tune the fur of your character,</WRAP>
Line 505: Line 549:
 \\ \\
  
-<WRAP justify>**NOTICE: To use XFur Studio Designer effectively make sure that your character is placed at the 0, 0, 0 location and with a 0, 0, 0 rotation**</WRAP>+<WRAP justify>**NOTICE: To use XFur Studio Designer effectively make sure that your character is placed at the 0, 0, 0 location, a 1,1,1 scale and with a 0, 0, 0 rotation**</WRAP>
  
 \\ \\
Line 518: Line 562:
  
 <WRAP justify>The bottom part of the right panel allows you to select the 4 different tints that will be blended with your character's fur using the Color Variation map as well as the wind simulation for the character, in order to see how it interacts with this simulation. For a more hands-on demonstration of XFur Studio Designer and how to use all its different features please refer to the following video.</WRAP> <WRAP justify>The bottom part of the right panel allows you to select the 4 different tints that will be blended with your character's fur using the Color Variation map as well as the wind simulation for the character, in order to see how it interacts with this simulation. For a more hands-on demonstration of XFur Studio Designer and how to use all its different features please refer to the following video.</WRAP>
 +
 +\\
 +{{ youtube>m_LX5XpgPIE?medium }}
 +\\
  
 <WRAP justify> **NOTICE : Models with overlapping / mirrored UVs may not work accurately with XFur Studio Designer. Models without UV coordinates will not be compatible with XFur Studio Designer either**</WRAP> <WRAP justify> **NOTICE : Models with overlapping / mirrored UVs may not work accurately with XFur Studio Designer. Models without UV coordinates will not be compatible with XFur Studio Designer either**</WRAP>
Line 686: Line 734:
 |  Color  |  FurShadowsTint  | The tint of the occlusion / self-shadowing effect  | |  Color  |  FurShadowsTint  | The tint of the occlusion / self-shadowing effect  |
 |  Color  |  FurRim  | The color used for the Rim lighting effect  | |  Color  |  FurRim  | The color used for the Rim lighting effect  |
 +|  Color  |  FurEmissionColor  | The color used for the emission channel when Emissive Fur is enabled  |
 |  Color  |  SkinColor  | The final tint applied to the "skin" pass of Basic Shells shaders  | |  Color  |  SkinColor  | The final tint applied to the "skin" pass of Basic Shells shaders  |
 |  Texture  |  FurColorMap  | The texture containing the color to be applied to the fur  | |  Texture  |  FurColorMap  | The texture containing the color to be applied to the fur  |
 |  Texture  |  FurData0  | The texture that controls fur coverage, length, occlusion and thickness  | |  Texture  |  FurData0  | The texture that controls fur coverage, length, occlusion and thickness  |
 |  Texture  |  FurData1  | The texture that controls fur grooming direction (RGB) and stiffness (A)  | |  Texture  |  FurData1  | The texture that controls fur grooming direction (RGB) and stiffness (A)  |
 +|  Texture  |  FurEmissionMap  | The texture that controls the emission channel of the fur  |
 |  Texture  |  SkinColorMap  | The color map of the "skin" pass on the Basic Shell shaders  | |  Texture  |  SkinColorMap  | The color map of the "skin" pass on the Basic Shell shaders  |
 |  Texture  |  SkinNormalMap  | The normal map of the "skin" pass on the Basic Shell shaders  | |  Texture  |  SkinNormalMap  | The normal map of the "skin" pass on the Basic Shell shaders  |
Line 746: Line 796:
  
 ---- ----
 +
 +<WRAP justify>New in XFur Studio 2 is the XFurStudioAPI, a static class that allows you to dynamically paint and edit the fur appearance at runtime with virtual, world-space spherical brushes through code. The Painter Objects included with XFur Studio 2 are based on the XFurStudioAPI as is XFur Studio Designer, meaning that for the first time you have the same powerful set of tools used to customize the fur within the editor available at runtime to expand massively the amount of things you can do with XFur within your game</WRAP>
 +
 +<WRAP justify>Using the XFurStudioAPI is very simple and in this last section of the manual we will cover its main functions</WRAP>
 +
 +**Groom**
 +<WRAP justify> The Groom function, as its name implies, allows you to pass a world-space direction to an XFur Instance's specific fur material and apply deformation in the form of grooming to the fur in that same direction. This world space direction is internally transformed to mesh based coordinates to ensure that the direction stays the same even in animated characters</WRAP>
 +
 +<code csharp>
 +//"target" - The target XFur Studio instance whose fur will be groomed
 +//"matIndex" - The index of the material to be edited
 +//"brushCenter" - The center of the brush sphere, in world coordinates
 +//"brushNormal" - The normal / direction in which the brush is looking, in world coordinates
 +//"brushSize" - The size of the brush sphere in world units
 +//"brushOpacity" - The opacity of the brush as a float between 0 and 1
 +//"brushHardness" - The hardness of the brush as a float between 0 and 1
 +//"groomDirection" - The direction in world coordinates in which the fur will be groomed
 +//"invert" - If true, grooming data will be removed rather than applied
 +
 +public static void Groom( XFurStudioInstance target, int matIndex, Vector3 brushCenter, Vector3 brushNormal,
 +float brushSize, float brushOpacity, float brushHardness, Vector3 groomDirection, bool invert = false )
 +
 +//Example :
 +
 +public Transform myBrushObject;
 +
 +void OnApplyGrooming(){
 +    //Will groom the fur upwards wherever the myBrushObject transform intersects the xfurInstance object within
 +    //a 0.25f units radius
 +    XFurStudioAPI.Groom( xfurInstance, 0, myBrushObject.position, myBrushObject.forward, 0.25f, 0.35f, 0.5f,
 +    Vector3.up );
 +}
 +</code>
  
 \\ \\
  
 +**Paint**
 +<WRAP justify> The Paint function allows you to modify all the other aspects of the fur that are driven by textures, including its length / thickness / occlusion ( via the FurData0 map ), its color ( via the FurColorMap ), its color variation ( via the ColorVariationMap ) and even the output of the VFX module to add effects such as blood, snow or rain / wetness at runtime.</WRAP>
 +
 +<code csharp>
 +//"target" - The target XFur Studio instance whose fur will be groomed
 +//"painterMode" - The data that will be modified
 +//"matIndex" - The index of the material to be edited
 +//"brushCenter" - The center of the brush sphere, in world coordinates
 +//"brushNormal" - The normal / direction in which the brush is looking, in world coordinates
 +//"brushSize" - The size of the brush sphere in world units
 +//"brushOpacity" - The opacity of the brush as a float between 0 and 1
 +//"brushHardness" - The hardness of the brush as a float between 0 and 1
 +//"brushColor" - The color of the brush. For fur data values and masks use either white or black
 +//"brushTexture" - Optional brush texture ( functionality not fully implemented yet)
 +
 +public static void Paint( XFurStudioInstance target, PaintDataMode painterMode, int matIndex, Vector3 brushCenter,
 +Vector3 brushNormal, float brushSize, float brushOpacity, float brushHardness, Color brushColor, Texture brushTexture )
 +
 +//Example :
 +
 +public Transform myBrushObject;
 +
 +void OnApplyRedPaint(){
 +    //Will paitn the fur red wherever the myBrushObject transform intersects the xfurInstance object within
 +    //a 0.25f units radius. Since brushTexture is not fully implemented yet it is extremely important to
 +    //pass this value as Texture2D.whiteTexture
 +    XFurStudioAPI.Paint( xfurInstance, XFurStudioAPI.PaintDataMode.FurColor, 0, myBrushObject.position,
 +    myBrushObject.forward, 0.25f, 0.35f, 0.5f, Color.red, Texture2D.whiteTexture );
 +}
 +
 +</code>
 +\\
 +<WRAP justify>With these two functions you can easily create all kinds of interactions between your game's world, its players and XFur Studio 2 in ways that were not possible before. An almost limitless amount of gameplay possibilities are available thanks to these API commands and the new modules system, Painter Objects, WindZone objects and the many features that are planned for upcoming updates. With XFur Studio 2 you have the most complete, efficient and advanced fur simulation system for Unity in any rendering pipeline you use, and for any device you develop.</WRAP>
 +
 +<WRAP justify>If you have any questions, suggestions or technical issues related to this tool please don't hesitate in contacting us to our support email. For support requests, please make sure to include your invoice / proof of purchase with your invoice number visible, the exact Unity version you used as well as the exact version of XFur Studio you are using for your project as well as all the relevant information and screenshots that may help us reproduce the issue.</WRAP>
 +
 +<WRAP justify>We thank you for choosing XFur Studio 2 for your project and hope that it will assist you in creating all sorts of amazing creatures and worlds.</WRAP>
 +\\
 +The Irreverent Software Team
 +\\
 +\\
 +\\
 +\\
 +//Copyright© 2012-2020, Jorge Pinal Negrete. All Rights Reserved. Irreverent Software™, PIDI Game Development Framework™ and XFur Studio™, their logos and branding are all trademarks and intellectual property of Jorge Pinal Negrete. All other logos, trademarks and intellectual property belong to their respective owners.//
  
xfur_studio_2.1598935131.txt.gz · Last modified: 2020/09/01 04:38 by irrsoft