Using Yeti Fur in Film Production

Page 1

Case study on

Using Yeti Fur in Film Production An introduction for beginners

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

Project: Timm Thaler oder das verkaufte Lachen (2017) Post-Production Studio: Trixter, Munich

om

by Niovi Phinopoulou www.randomsketchbook.com

Intro

Most characters require a form of groom - fur, hair, eyebrows, grass, threads. To create it, some studios developed their own proprietary tools or buy commercial tools such as Peregrine’s Yeti. For my first project I worked on at Trixter, I needed to create fur for two rat characters using Yeti. Both characters were stylised and they needed to have attributes of their counterpart human actor. This is a case study of implementing Yeti in production to achieve the desired look as well as tackling various challenges at each character. It is directed for Yeti users, and primarily for first-time users.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


1. Yeti As a Grooming Tool (for new users) 1.1. Introduction to Yeti

Peregrine’s Yeti is a node-based groom which is used for creating fur, hair and feathers. It’s compatibility and relatively user-friendly interface make it approachable and attractive to first-time users and studios who do not have their own proprietary grooming software.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

1.1.1Basic Fur Setup First step of grooming with Yeti is selecting your mesh and create the Yeti Maya- this is the fur system distributor and it will automatically add the fur system on the mesh. Alernatively, you may create the system first and then add it manually in the Inputs setion of the shape. Once this is created you may start setting up your groom using the Yeti Graph Editor. As a node-based tool, to set up a groom even a basic procedural one, you need to add nodes starting with the three basic ones: Import, Scatter(density) and Grow(length).

Example 1.1. Once the Yeti Maya node is added, the Graph Editor is Basic procedural groom setup with Yeti The distributor provides automatically the basic attributes empty; no groom is produced. The user needs to add the density, length, width and you may preview a basic procedural nodes of Import, Scatter(density), Grow(length), Width. Once these are added, the groom is immediately previewed. groom immediately.

1.1.2.Stylising the hair with Painted Attributes For stylising the hair you need to add a Groom node and/or a Guides set. A Groom node is essentially a sophisticated vector map; it may define the shape, length and distribution of the fur. These strands also serve as a painting platform for masking attributes. Other ways of stylising the groom is adding attributes such as Clumping, Scraggle, Curl and Bend. There are other nodes such as Blend and Merge which are for merging and blending attributes and hair systems. The Clumping is achieved using the Clump node and it should be set up by first adding the large clumps and then the smaller Clumps. 1.2.3.Painted Attributes & Texture maps Any additional styling refinements such as applying scraggle to a limited area are achieved by applying masks through the Attribute node (more details at section 1.3). These masks can be created using the Groom node or import them as 2D textures. Both have their advantages and disadvantages- their usage comes down to the user and the project and in occasions you may need to combine both of them for the desired result. Painted attributes in the Groom node provide pipeline simplicity and direct visual feedback- any painted tweaks take an immediate effect to your groom. Also, these are not UV based therefore if there are any bad UVs, smoothing or UV updates it doesn’t affect your groom. The position and amount of strands define their distribution and resolution- which could be effective but also limiting. In addition, as these are Yeti attributes you do not have to deal with any compatibility, importing and UDIM issues which seem to occur in earlier versions of Yeti. Alternatively, you may create your 2D textures using other painting tools like Mari. The advantage of using softwares like Mari is painting creativity and detailing as well as map resolution flexibility. In the case of model changes where you need to transfer the groom to the new model with same UVs, your maps stay intact. On the other hand, when using 2D textures you must implement a separate painting software in your pipeline and you will be loosing the direct visual feedback. This means any new tweaks the groom needs, you must go back to your painting software, paint, export the maps, wait for the update to take place and repeat till the desired result is achieved- which will end up being time consuming.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


1.2. Resources

As mentioned earlier, Yeti has a user-friendly interface. It is also a relatively “young” software in the industry, therefore there are not as many resources as the long-established softwares. This may become taunting when things don’t work as they should and there is nothing in the online documentation to help you on that. Most of the times I found the YetiCentral.com to be very useful. This is a private only-for-registered-users forum therefore all that knowledge is not so easily accessible. For more details on Yeti you may visit Peregrine’s online documentation: http://documentation.peregrinelabs.com/yeti/gettingstarted.html

1.3. SCATTER, GROW and PAINTED ATTRIBUTES

om

This is somewhat explained in the documentation but might not be as clear for first-time users. Once you created a Yeti painted attribute, it will not take immediate effect. You need to add an Attribute node in the Yeti Graph before the attribute it is meant to take effect on.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

Example.1.3: You wish to apply a Scraggle only at one area of your mesh. You paint a map of that area and give it a reasonable name like scragglemap. Once done, open the Yeti Graph. Add an Attribute node and connect the 1st input to your Graph and plug the Groom node(Input node) to the 2nd. Then, in its settings add the name of the map, in this occasion scragglemap . After doing this, add a Scraggle node and add the $attributename (this occasion $scragglemap) in the first variable, this occasion the “Scraggle”. In this way Yeti connects your map to the attribute and evaluates your groom. -> Accurate naming is essential for the map to be applied. If anything is misspelled then the map will not take effect- and at times Yeti will not evaluate your groom anymore.

This is a standard procedure for most attributes, except the Scatter and Grow node. These two already have their attributes implemented. -> Length is the only attribute that comes by default with the Groom node, therefore once you add your Groom (in the Input) node as a second input, the strands drive the length. If you add a new length map, then you only need to type the correct name in the Length attribute- there is no need to add an Attribute node beforehand. -> Scatter node has by default a density attribute. If you create a map called density and plug the Groom (Input) node in the second input of the Scatter node it will take immediate effect. Like the Length node, you may create any other map and add the correct name in the density attribute. The map is applied without any additional nodes.

Example 1.3 We create a simple groom set up with three painted attributes: clumping, curl and density. Like any mask, black is 0/takes no effect; white is 1/takes full effect. Where the map was painted white the attributes take effect where black doesn’t. As illustrated above, before the clump node there is the Attribute node (blue) to apply the maps. But not for the Scatter(density) and Grow(length) as both have alr those attributes implemented in them already. Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


I’ve read different new-users posts of being confused why their fur disappeard after connecting the Groom Input to the Scatter node’s 2nd input. This is very likely because they have not created a map called density already. Yeti cannot evaluate an attribute that does not exist and will return an error (groom disappears and Script Editor will give you an Error note).

1.4. THE SCATTER NODE and THE RADIUS OF INFLUENCE

om

“Radius Of Influence: By default a strand in a groom has the potential of affecting any fur element created in the graph, by adjust the radius of influence you can limit the radius at which the strands affect the data. It’s generally a good idea to use the Display Radius Of Influence display parameter to visualize this.” -Yeti documentation

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

By default the radius of a Groom node is set to 0. This result to the strands have no radius of influence, therefore the strands influence is applied exponentially to the whole geometry. Once you start adding values, then the radius is shrinking/expanding according to the value.

Example 1.4.: The Radius of Influence at 0 is useful when you wish to have fur overlapping and looking more thick. But this becomes an issue as the fur spawns to unwanted areas such as the mouth and the eye sockets. The higher the Radius, the thicker your fur will look, with lower Radius the fur it is more probable to avoid those unwanted hair but with thinner looking fur.

Above: Radius of Influence 0 Below: Radius of Influence 0.1

An alternative way of ensuring areas such as eye sockets and the mouth do not have hair bleeds, is using face sets. You may manually create face sets where you wish the fur to grow from (that is when fur UVs are also helpful for selecting those areas) and add that to the Scatter node, in the face set attribute. The downside is that when you need to export your fur and push further down the pipeline Yeti (until V.2.0.24) does not export the extra inputs such as face sets.This is something that Pipeline needs to implement.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


2. Yeti in Production 2.1 Behemoth

Brief: Create a scruffy, short fur on a stubby, rounded character. Create the beard the same style as the actor’s.

2.2. References

Before going straight to CG, it’s always best to find good references and have them in an easily-accessible folder where you can always look at any point. Personally, I also like to break down the fur based on the references.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

2.2. Main reference for Behemoth. This was a great reference for the character as it had the style the art direction was going for. Looking at my references, I already know my character will need at least 4 grooms: main body, tail, whiskers and ears. Also, looking at the character design, the characters are anatomically anthropomorphised, standing mainly on their hind legs. Because of this, I added extremities as a separate groom.

2.3. Starting to groom

The order you start creating the grooms doesn’t really matter as they are seperate entities.

2.3 As a personal practice - and recommendation- is to approach grooming like a painting- block the basic shapes and continue finessing. Start with the biggest one- in this occasion the body- and then, create the rest, setting a very basic shape and graph applied to them. These by no means will remain the same, but when visualising and presenting a character it’s best to view it as a whole. While the main groom will take most of your time to stylise and finesse, the other ones are not any less important - working all the grooms at the same time helps retain consistency to the character.

2.4. Technical Challenges 2.4.1.Baldy Areas

While in Maya the renders were coming out nice, in Katana I had consistent baldy areas, regardless the density changes. a. Subdivisions between Maya and Katana Once you create your groom in Maya, there’s a new Yeti attribute added to your geometry’s shape in which applies subdivisions to your groom. If this is activated in Maya, it needs to be activated in Katana too. When rendering with Arnold in Katana, the subdivisions are not automatically activated, therefore some groom changes and issues occur - in this occasion the bald spots. This is easily fixed by adding an ArnoldObjSettings in Katana and activate the subdivisions on the geometry.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

b. Groom interpolation The abdomen of the character was essentially a concave with a large curvature. As the groom strands where curved close to the surface, the fur interpolated in between two distant strands was blending between them but not necessarily following the surface. This is easily fixed by adding extra strands in between and adjusting to the shape.

c. Density A challenge with short hair, especially in areas such as the snout and belly where they are almost perpedicular to the surface, really short and thin is covering the surface without seeing through the skin. For solving this issue you need to raise the density of the hair in that area. A way would be painting the attribute for more density. Another solution would be to create a different branch of groom, called Downy. This could be part of your existing Yeti Graph or a completely different system. In this occasion I chose to keep them all together.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

3. Final Render

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


3.1. Belial

Brief: Create a very soft, polished fur on a tall, slender character. Create the (very stylised) hair that will look natural.

3.2.Making Stylised Clumps with Yeti using Curves

Grooming the body of both rats was the same process as they were both procedural grooms. To create Belial’s hair though required a different approach as it was long hair with complex styling. The Yeti provides different tools for modifying the Groom strands which are ok for short, simple grooms such as the body, but it’s difficult for long hair. That’s when it’s best to use curves for styling your hair.

om

Yeti does support curves, but doesn’t have a tool for creating them. You could use Maya curves but it is not as intuitive to shape them and once there’s a lot of them it gets strenuous and hard to manage.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

So far, I have found that XGen has been the best tool for creating Guides. It is user friendly, has good tools for creating multiple curves and most importantly easy to manage big volumes. Once done and happy with the guides, convert them to Maya curves.

Now, you need to implement these curves to your Yeti groom. To do this, group and select all the curves, create a guide set and add that guide set in the Yeti Graph (Inputs-> Guide Sets). At this stage, I added an Import node in the Yeti Graph for the guides and plug them in the Comb node and you get an immediate visual feedback.

In Yeti you create first the big clumps and then the smaller ones using Clump nodes. The Clump node comes with attributes of its own that help define the clumps such as base attraction, tip attraction and attraction bias (the higher the number the higher influence). Tweaking these you can create very tight clumps that are helpful for initial visualisation. Then, you start layering and breaking up the tightness to achieve the extra volume and desired look by lowering the values and adding attributes such as scraggle.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

In addition, Yeti has this nice feature where it allows you to tweak certain attributes on each curve, such as tip attraction and base attraction. This is really helpful for achieving guide clumping - the clumps are shaped and driven solely by the guides. This is particularly useful for tackling the annoying issue of hair intersection and interpolation in partings.

3.3. Guide clumping troubleshooting

A recurring issue I came across was exploding hair at different stages.

One occasion was when the Clumping was tight (a). A way of solving it is finding the right balance of clump tideness (b).

a. Clumping 01 with high bias and attraction. Clumps are tight to the curve and give a wet look/ unnatural look.

b. Clumping 01 with lowered bias and attraction. Clumps look more natural/dry but with intersections.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

Another issue was “explosion” occuring after adding the second clumping.

a. No clumping: this is the straight results of having the guides into the Comb node. The initial shape is a good start but clumping is necessary to achieve the desired look.

b. Clumping 01 added: the intersections are dealt and add defined shape of clumps, some hair seem to change, but overall shape remain intact.

c. Clumping 02 added: hair “explodes” Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


3.4. Causes and Approaches After some experimentation, I found that the cause for this was the difference between the Grow node and the curve, and through clumping it was amplified. Unlike other softwares where the guides override the length, in Yeti the length attribute is not overridden. Regardless of your guides length and shape, it's the Grow node and its inputs that drive the length.

om

Therefore. if you have a curve whose value is 1 and the Grow value set to the value of 2, the hair will follow the shape of the curve until the value of 1 and then it goes to a straight projectory, instead of following the curve equation.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

A simple solution is tweaking the length map which plugs in the Grow node. In this way you can remove excess length at the necessary areas.

Another solution is break down the groom to the different length sections. In this way you gain more control over each area without affecting the others. The downside of this approach is your Yeti Graph becomes more complicated. At this stage all grooms were done and presented the character was approved.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


3.5. Adjusting Groom to the Pipeline needs

At the next state when the groom was passed down the pipeline, there were notes that needed to be addressed. The main was the curves needed to be converted to a groom for the dynamics. In the case of Behemoth whose beard was shaped by curves was very straightforward and easy as it was mainly the length rather the shape that was driving the hair. First step was converting the guides to a Yeti Groom node using this script(Mel): string $guide_set= "guides_set"; pgYetiConvertGuideSetToGroom( $guide_set, "geoShape", 0.1 );

om

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

Note: The new groom will have some visual artifacts from the strands. It is not necessary but you can get rid of them by to resampling the strands. You do need to be careful as less amount of samples may result to loss of strands’ curvature shape and higher will overload the groom and process.

3.5.2. Converting Guides to Groom

Second step, address the new challenges: 1. How to maintain the shape and volume within a procedural based groom. 2. How to fix the hair intersections.

As we saw earlier, with curves you can force and snap the hair forming defined clumps - with groom strands you can't do this. For this there were a few ideas and solutions; in the end the best solution was to combine Procedural with Converted Groom Strands; meaning split the hair to two Groom nodes, one for driving the shape and one for containing the maps. The benefits of having them separated is a non-destructive pipeline where you may tweak length, scatter density and maps without affecting the style. This is also very useful if you need to go back to the original curves and reconvert the groom; in this way you do not lose your painted attributes.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


3.6. Final Render

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

Small tweaks were done once the characters were placed in to shot such as thinning and shortening the hair. With the final tweaks, the character was approved.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


4.Wet Groom

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

om

In some shots the characters were meant to be wet therefore we needed a wet fur version of each character. This was easy, as all it was needed to be done is set up a separate clump which could be activated when the wet groom was needed. To ensure there was consistency between the two characters fur quite often they were placed next to each other.

Case Study: Timm Thaller Last edited: 09/11/2016 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may not be copied or distributed without written permission. Material used for demonstration solely belong to the rightful owner and may not be shared or distributed without written concession of their rightful owner.


5.Additional notes 5.1. Organisation

om

a. Colour “coding” the important changing nodes such as clumping, attributes, merges/blend You can change the colour of any node by selecting it in the Yeti Graph and under the Utilities tab ->Set Custom Node Colors. This helps you to visually and easily navigate through your Graph tree without needing to read every node, regardless the complexity. The colour selection is down to the personal preference but it should be easily distinguishable colours. Personally, I set Attribute nodes to blue, therefore I know at a first glance where is a paint attribute applied, Clumping to yellow, Merge/Blend to grey and so on.

co p at yr i n ww io ght v w. i p s re ra hi se nd no rv om po ed sk ulo etc u hb oo k.c

b. NAMING!! Grooms can easily be layered and get complex- and very often you will recieve notes on a character even 4 months later when you moved to the next project and have forgotten all about the previous one. As optimistic anyone wants to be, it’s hard to remember exactly what each node does to which area of the groom - especially if they are called scraggle, scaggle1, scraggle2 etc. Naming each node is a good practice that any groomer should adopt. It might be that annoying thing you can’t be bothered at the end of the day but it will be a sanity check; it’s like having notes in scripting. Name them in a way that even if you need to open the project in five-years time you will still be able to know what is happening. For example: fray_scraggle, underbelly_scraggle, snout_fray and so on. c. Organisation Like Nuke which is also node based and it is necessary to keep the nodes in clear straight structures, you should keep your nodes in the Yeti Graph Editor in a clear structure, which will make it easy to identify, directly access and preview every single node.

5.2. Double Check

When renaming nodes within the Yeti Graph, especially an Attribute node, Yeti (at least up to v 2.0.24) resets the node to the default settings but the UI doesn’t update. Therefore, once a renaming has occurred to an already applied node it’s best to close and reopen your Yeti Graph and the node would be updated properly. Yeti is very sensitive with naming, therefore if an attribute or value is mistyped it will not process the graph. A quick way of checking nothing is broken is to simply preview your groom. If nothing appears then something is broken. The nice thing is that the broken attribute will be red highlighted. Another way of double checking is reading through the log. If something is not properly processed it will give you an error note and on which groom/ branch occurs which is really helpful.

5.3. Hot keys!

Like with any task, certain procedures are repetitive in grooming. A good practice is setting Hotkeys and scripts from the start to make your workflow efficient and your life easier. As a 3D generalist, I have my standardised hotkeys which I set up at any new workstation I work at (with any necessary adjustments) such as 9 for the Yeti Graph Editor.

Case Study: Timm Thaller Last edited: 21/05/2017 Writer: Niovi Phinopoulou This is a case study written by Niovi Phinopoulou for the sole purpose of recording a process. This may be used for educational purposes but not be copied or distributed without acknowledgement to the writer and written permission. Material used for demonstration solely belong to the rightful owner and may not be used for any commercial purposes.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.