Daz Studio Tutorial: Muddy Skin
So I have been using Daz Studio for a few years. You can see many of the works that have resulted from that in the galleries here at TGS. Now I would like to share some of the knowledge I have aquired with others who might find it useful on their journey with 3D art. This tutorial is specifically about how I get mud onto the skin of characters in my scenes. It is an interesting topic because there are oh so many ways to do it. So, here is mine.
Before I get started on the mud, you should understand that whenever I create a series of images, I like to keep the whole series in one Daz Studio scene file. This has some implications for my workflow and also how I get the mud on people’s skins. One prequisite is of course some shader or material for the mud. That material is not applied directly to your figure but rather to a geoshell or a duplicate of your figure that serves a similar purpose. If you do not yet have such a shader or if you want to try mine instead, you can download it here. My shader is purely procedural and should work on any figure. You can use it on the quicksand pit, too.
For this tutorial I have prepared a simple scene with Amy and I have already posed Amy in a number of frames as she enters the bog and sinks deeper. I like to increase the frame numbers in steps of 10, so I can later on easily insert another story frame in between if I feel like it and keep things in sequence. I know that you can also move keyframes around in DS, but in my experience that feature is simply way too buggy to rely on. Anyway, this scene only contains the objects relevant for this tutorial:
- the posed figure (inside a container group which I use to move the figure around in the scene)
- a plane primitive for the bog’s surface
The character is already positioned and posed in several frames along the timeline. In frame 30 things get interesting because here Amy first comes into contact with the mud. What I do here is create a duplicate of the figure (without hierarchy).
This figure will become the mud on her skin. Technically it is also a figure that can be posed and all that, but it will only serve the purpose of covering the original figure in mud. That is why I will refer to this type of figure as “mud figure”. And because I intend to use this mud figure in frame XX I name it mud_on_amy_X.
Now I hide the original figure because I do not want to accidently make any changes to that as I begin to edit the mud figure. I select the mud figure and then I apply the mud shader to it. And by that I mean I apply it to all its surfaces. There are however some surface you typically would not want to cover in mud such as eyes and teeth. So I select these and set their cutout opacity to zero.
So now only the skin and nails should be visible on this mud figure. Now, to control exactly which parts of the original figure are covered in mud and which are not I want to modify the geometry of the mud figure. I want to either raise the geometry above the skin of the original to make it visible or lower it underneath the figure’s skin where it will not be seen. And in order to do that I add a push modifier to the mud figure. The push modifier allows us to displace geometry along the surface normal.
For the push modifier to have any effect, I need to add a map and define by how much it will push the geometry and how far.
First, in order to hide the mud I create a map named “down” and assign a value of “-0.2”. So the mud figure is now hidden 2mm underneath the skin of the original figure. In order to bring the mud back up I add another map named “up” with value “0.3”. Now the entire figure would again be covered in mud. One map lowers the geometry down by -0.2, the other raises it by 0.3, so it should be 0.1 above the skin. The interesting part is however that these maps can be edited, meaning you can control to which degree they are applied to which parts of the figure. Initially I want most of the skin to be clear of any mud, so I select the entire geometry of the “up” map …
…and set it to zero, meaning it is not applied to any part of the figure.
Then I begin editing the map with the Node Weight Map Brush tool. I do this directly inside the viewport and apply the mud to all the parts of Amy (or rather her mud figure copy) that are beneath the bog surface plane. Maybe some bits above as well where I want some specks of mud on her skin.
The color of the figure while using this tool indicates the value of the map you are editing. Gray (the default color of the shader in the viewport) is zero, slightly above zero is yellow, then blue and as you get closer to 1, it turns red. So in the red areas the “up” map is fully applied and that is where the mud is visible on the skin. I make the original figure visible again to check the mud on the skin.
The mud cover in the actual render may be slightly different if you are using a different SubD value than in the viewport, but it should not change by much.
Beyond the first frame
Here I will explain how I usually move on to the other frames in the series where I typically want more and more skin to be covered by mud. If this is not so in your series, then your quicksand might be broken. ;) I use AniVis and I use it a lot. That plugin is a bit dated, but it is also free and still works fine for me with the current version of Daz Studio (4.14). What this plugin does is that it let’s you animate the visibility of objects in your renders (attribute Visible in Render). At this point I disable the “Visible in Render” property of the mud_on_amy_030 figure and apply the Anivis property.
Then I copy the figure (including the hierarchy) and name that copy mud_on_amy_040, as 40 is the frame in which I want to apply it.
In frame 30 I turn on “Visible in Render” for mud_on_amy_030, I make sure it is turned off for mud_on_amy_040. In frame 40 I make sure it is the other way around (turned on for mud_on_amy_040 and off for mud_on_amy_030). The copy of the mud figure also has a copy of the push modifier and the “up” and “down” maps (as well as the AniVis property applied). So now I only need to edit the “up” map of the new copy and make Amy muddier as suits her new depth.
This process of copying and editing is necessary because these maps cannot be animated (at least as far as I know). As I proceed to frame 50, I will copy the mud_on_amy_040 object and then repeat the process. That way I always have the mud coverage from the previous frame as a starting point and add more and more until I reach the end of the series or the point from the figure is fully covered. here
You can of course have the same mud figure visible in several frames if you have no need to change it. Maybe your character did not sink deeper or is rescued at some point. But I do highly recommend that you only have exactly one mud figure visible in the render. You might think that leaving the figure from a previous frame visible does not alter the result and you might be right… or not. The mud shader can have transparency, so having several overlapping mud figures present will make the mud look more opaque. But even if your mud is totally opaque anyway, there is another issue. When you make adjustments to the original figure’s pose, the mud figure copy will not automatically follow. There is probably some way to achieve this (but I have not figured it out yet). So, what I currently do is copy the original figure and then paste the new pose onto the mud figure.
If you have more than one mud figure visible in the frame, you will need to paste the new pose to ALL of them. This can very easily become a very tedious and error prone process. If there is only one of them visible in any given frame, you do not have to mind the others.
You can repeat those steps and get all parts of the body properly covered. If any part re-emerges in a later frame, it will be covered in mud.
The issue with fingernailsThere is one problem though. The method of using push modifier weight maps in both directions is not perfect. It is close enough on most parts of the figure to not be a problem, but it does cause some visible issues with the geometry of those fingernails (and toe nails, but somehow those do not appear to be a problem as frequently).
The way I solve this is by editing the “up” and “down” maps of the finger tips and nails with the Node Weight Map Brush. At first I reduce both maps to zero in and around the fingernails. This basically makes the fingers of the mud figure geometry overlap like it initially did before we had any push modifier.
Now I carefully increase the values in the “up” map just enough to cover the finger in mud again but without causing visible artifacts.
Total mud coverageSo I have repeated this process for all frames in the sequence in which Amy's skin is NOT completely covered in mud (up to frame 180). In frame 190 she is completely covered and I do something different here. I create I geoshell for the figure.
Just as with the mud figures I apply the mud shader to all surfaces and then set the CutOut Opacity to zero for eyes, teeth etc. The geoshell performs a similar function as the mud figure with a few differences that are important to understand. The disadvantage here is that push modifiers and weight maps cannot be applied to a geoshell, so you cannot hide part of its geometry underneath the main figure’s skin. That is why I typically only use them when the figure’s skin is covered completely. There are two advantages to using a geoshell:
- It will automatically follow the figure, so pose changes and even animations are fine and will not cause any extra work.
- Geoshells work fine on finger nails (and toe nails). No manual adjustments needed.
Mud on clothes
Sometimes you also need to get clothes muddy. A simple way to do this is by creating a geoshell for the wardrobe item and apply a mud shader to it. Like with the figure this covers the entire object. If a wordrobe item has multiple surfaces you can (same as with the figure) set the CutOut Opacity to zero for surface you do not want to have covered. In the sample scene the bikini top has two surface, the strap and the bra. The geoshell is only visible on the bra (which is now white so you can see the difference more clearly).
Like with the figure you may however want to have more cnotrol over which parts of the surface are covered in mud. The approach of copying and using push modifiers may work on some clothing items, but more often than not I found that to be problematic with the geometry of wardrobe items. For tight-fitting clothes such as this bikini I prefer to expand the mud figure’s geometry even more to cover the clothes as well. For this I add another weight map to the already present push modifier.
I named it cover_bikini and set the value just high enough to cover the entire bra. Then I again select the entire geometry of the mud figure and set this new map to zero. Afterwards I edit it with the node weight map brush to get it to cover only the parts that I want it to.
So I get the clothes covered without the need of copying more objects here. But it comes at the disadvantage that I cannot use different shader settings for the mud on the clothes. All these methods do not account for how various types of fabric actually interact with mud and especially the moisture in it. So this is certainly not the most sophisticated way of getting clothes muddy, but it has worked well enough for me so far.
There are various types of hair and the geometry can be quite different, so I will again propose several techniques I have tried. However it is up to you to experiments and figure out which one works best in your specific scene with the hair product(s) you use. Generally hair products do not model the geometry of each and every individual hair. That would be much to complex. Instead they typically fake individual hairs in the textures with some transparency in between. There is still plenty of geometry in many of these products, but the amount remains manageable.
The simplest thing you can do to make it muddy is to apply the muddy shader to the hair (or rather a copy of the hair which you can then swap out with the original one using AniVis). With an opaque shader the actual geometry becomes much more apparent. The results may be anything from ok to odd to really bad.
Another option is again, the use of a geoshell. The results may be very similar to what you get by simply replacing the shader. But in any case it does give you some additional options such as experimenting with hte Offset Distance parameter and with opacity.
The copy and push modifier can be attempted, but the results may not be what you expect. The advantage of this method to be able to hide the mud underneath the geometry of the original object does not work always so well with hair products. Often their geometry does not even have a volume (just stripes of 2D polygons). But if you just want a little of the original hair color to shimmer through in some spots it might do the trick for you.