Materials section

  • Update Render Settings: Update the render settings to the minimal requirements for rendering a DAZ scene correctly.
  • Save Local Textures: Save copies of all used textures in a local textures folder, and change all paths to relative. The blend file must be saved first.
  • Resize Textures: Replace selected textures with lower resolution copies to conserve memory. Local copies of the textures must have been saved first. Requires that Python and OpenCV have been installed on the computer.
  • Change Resolution: Replace all textures of the selected meshes with lower resolution ones, if such textures have already been created.
  • Change Colors: For all selected meshes, change the color of all materials with textures.
  • Change Skin Colors: For all selected meshes, change the color of all materials representing skin, but keep the color of other meshes.
  • Merge Materials: For all selected meshes, merge materials that are deemed identical (same textures etc.)
  • Copy Materials: Copy materials from the active mesh to selected meshes.
  • Prune Node Trees: Remove unused nodes in all materials for selected meshes.
  • Launch Material Editor: The material editor allows you to make consistent changes over several materials at once.
  • Reset Materials: Reset materials to their original states, undoing any changes made by the material editor.

This section changes some material settings. Everything can of course be changed in the compositor (for Cycles materials) or in the material and texture contexts. However, meshes imported from DAZ Studio often have many materials - a Genesis 8 character has sixteen - and updating each of those manually would be tedious.

Update Render Settings

Scenes imported from DAZ Studio will only render correctly with the appropriate values of some render settings. The lights in the scene must also satisfy some conditions. When you import a scene with the Daz Importer those values are normally updated automatically. However, if you append or link a Daz character into an existing scene, the render settings are not updated. And if you add a new light to the scene, it may not have sufficient settings.  This tool force an update of all render and light settings to minimal values.

Left: Light Paths set to Direct Light. Right: After Update Render Settings.

This shows an example how the render settings are updated.

 
TIP: Directly after you have started Blender, Update Render Settings and then save the startup file (File menu > Defaults > Save Startup File). In that way your render settings will always be sufficient to render DAZ scenes.


Save Local Textures

If you have not already done so, now is the time to save the Blender file, because it must be saved for this button to work.

So far all textures are located in their original locations in the DAZ libraries. If you intend to paint on the textures, or resize the textures (next button), or move the Blender file to a computer where DAZ Studio is not installed (or all used assets are not installed), you need local copies of the textures.

Press Save Local Textures to do so. This command creates a folder called "textures" in the same directory as the blend file, and copies all used textures there. The absolute file links to the textures are also replaced by relative ones, so the textures will be found even if the blend file and the textures folder are moved elsewhere.

This tool has one option: Keep Directories. If enabled, a directory tree is created under the textures folder which mimics the structure in the DAZ Studio directories, otherwise all textures are place directly under the textures folder. The problem with the latter is that there might be several textures in different folders with the same name. By keeping directories we avoid that such textures are overwritten. On the other hand, it can be tedious to selectively resize textures if we must traverse a complex directory tree.
 
Here is the content of the textures subdirectory in the folder where aiko.blend was saved. The directores come from the Runtime/Textures folder.
The "textures/daz/characters/genesis8/aiko8" folder contains copies of the Aiko textures. Other folders contain the clothes and hair textures.

Once the textures have been saved in a local directory, you need to save the blend file again, because file paths have been changed to local paths. You can now move the blend file and the textures directory to a different location, or even to a new computer where DAZ Studio is not installed, and you will still be able to open the file. You can also modify the local textures without compromising your DAZ Studio installation.


Resize Textures

DAZ characters usually have many large and beautiful textures. This can be a problem if you try to render a scene on an old computer with limited RAM memory, because once the memory is full Blender comes to a halt. However, for many purposes the texture resolution is unnecessarily high. Therefore, I have provided a utility program that downsizes all textures in a given directory, and a button in Blender that replaces the original textures with the downsized ones, see http://diffeomorphic.blogspot.com/2019/04/downsizing-textures.html.

An alternative to resizing textures is to use Blender's built-in Simplification, which is found in the Render Properties context. This has the advantage that you don't need to install Open CV on your computer, which is a requirement of the Resize Textures tool. See https://diffeomorphic.blogspot.com/2021/02/render-simplification.html for more information.

 
When the Resize Textures button is pressed, a file selector appears where you can select which textures to resize.
  • Steps: The number of rescale steps; one step means that the texture is rescaled by 50% in each direction, two steps that the scale factor is 25%, etc.
  • Resize All: Resize all textures used by selected meshes, in all subdirectories.
The name of the rescaled texture is the original filename followed by the "-resN", where N is the number of rescale steps. So if the original filename is foo.png, the rescaled textures are named as follows:
StepsScale factorFile name
150%foo-res1.png
225%foo-res2.png
312.5%foo-res3.png
46.25%foo-res4.png

With the settings in the picture above, all textures of all selected meshes are resized. If we uncheck the Resize All button we have better control over which textures to resize.
To only resize Aiko's bump textures, go to the Aiko8 textures folder and select the bump maps only. Since all of those textures contain the string "B_10", we can use that string as a filter.

 

Change Resolution

This button only replaces the textures in the Blender materials; the rescaled textures must already exist in the same directory. If you have access to some other program that resizes image files, you can of course use that instead of the standalone script bundled with the DAZ Importer, as long as you follow the naming convention above. When the button is pressed, a popup dialog allows you to specify the number of rescaling steps.
If you know that you will never need the original, high-resolution image files, you can alternatively overwrite the original filenames with the scaled files and reload the blend file.

Change Colors

Directly after import, all clothes meshes (including the hair) have the same reddish brown color, provided that the import option Viewport Color was set to Guess. To make Aiko's appearence agree more with the rendered image, we select her top and skirt and press Change Colors.
A pop-up dialog appears where we can select the new color, light grey.
In the same way, we change the color of the hair to pink and the sandals to light blue, to approximately match the rendered image.
The change color button only affects materials with a texture in the diffuse channel and hence never changes renders.

Change Skin Colors

This button also changes viewport colors, but only for skin materials. Press Change Skin Color and set the color to green. Aiko's skin turns green but her eyes and lips stay the same.

Merge Materials

Sometimes meshes have several materials which are in fact identical; they use the same textures and have the same settings. To save resources, we press Merge Materials to combine identical materials. The top had four materials, but after the merge it only has three because the Lace1-1 and Lace2-1 materials were identical.
Note that merging materials removes the possibility of edit the different materials separately.

Optionally we can merge materials even if the scalar or color values of some node inputs differ. This is mainly useful for merging UDIM materials. The bump distance depends on the area covered by the material, and is therefore in general different after textures have been combined into UDIM textures. If we enable Ignore Strength the UDIM materials can be merged, even though the bump distance differs.

Copy Materials

Assume that you have loaded a character and made a lot of edits to it, and then you realize that you should have used another material method (BSDF/Principled) when you loaded the character. Reloading the character and starting from scratch is not a good option, since a lot of work will be wasted. You could reload the character and replace the materials of the old meshes with those of the new meshes, one by one, but that is also a lot of work since Daz meshes typically have many materials.

This tool was more important in previous releases of the Daz Importer, when materials made with the BSDF method could not be rendered well in Eevee. Presently materials imported both with the BSDF and the Principled methods look decent both in Cycles and Eevee, and the need to replace materials is less.

The Copy Materials tool replaces all materials of the selected meshes with the materials of the active mesh, in order. Import a second copy of Aiko, and with the new skirt active and the old skirt selected, press Copy Materials. The materials of the old skirt are replaced with the materials of the new skirt.

The Copy Material tool has two options:
  • Match Names: Use the material names to decide which old material corresponds to which new material. Use this if the material order has been changed. If Match Names is turned off, materials are copied in order, i.e. new material 1 replaces old material 1, etc.
  • Error On Mismatch: Raise an error if the two meshes have a different number of materials.

If you have change the number materials of the old mesh, e.g. by merging geografts, you should repeat the steps on the new mesh before copying materials.


Prune Node Trees

Some tools may leave nodes with all outputs disconnected. Such nodes do not contribute to the rendered image and can be safely removed. This tool does this for all materials in all selected meshes.

Here is a node tree after normal maps have been loaded with the tool below. The Normal Map node has no connected output sockets. Once it is removed, the corresponding texture node does not have any connected outputs either, so it can be removed too.
The Prune Node Trees tool removes the unused nodes from the tree. This is easy enough to do manually for a single material, but would be tedious for DAZ assets which have dozens of materials.

 

Launch Material Editor

DAZ figures often have many materials that cover different parts of the body, like face, torso, arms, legs, etc. This makes it difficult to edit the materials in Blender, because we usually want to apply the same changes to all skin materials and it is difficult to miss something. For this reason the DAZ importer has the Mini Material Editor, which allows you to modify multiple materials simultaneously.

To start editing a selection of materials, we must first select the active material. We choose to base the editing on the Face-1 material.
Press Launch Material Editor at the bottom of the Material section. The Material Editor appears.
 At the top there are four buttons that selects groups of materials:
  • All: Select all materials.
  • None: Deselect all materials.
  • Skin: Select all skin materials, i.e. materials with the same viewport color as known skin materials.
  • Skin-Lips-Nails: Also select lip and nail materials.

Then there is list of the materials which are affected by the edit, followed by the active material Face-1 that we just specified. The settings of the selected materials will be updated with those of the active material. Then there is a list of editable, which correspond to node groups in the node tree. The Update Materials button at the bottom updates the materials in the viewport, without leaving the material editor.

Here we have opened up some groups of settings. To the left we see the original settings when the mesh has just been imported into Blender, and to the right we have made some modifications.
Here is the original node tree. Note how the values of the nodes correspond to the values to the left. Since the diffuse color is white, the diffuse texture is directly conneted to the diffuse node.

And here is the node tree with the changes applied. When a white color has been changed to something else, and there is a texture, a multiply node with the new color has been inserted. Similarly, if a texture is linked to a scalar socket with value 1.0, and the value is changed to something else, there is a new node which multiplies the texture with the appropriate value.

My own workflow is to set the viewport shading to rendered, and disable gizmos and overlays. Since the Update Materials button does not leave the material editor, we can now tweak the material settings and get immediate feedback every time we press Update Materials.


Reset Materials

This tool undoes any changes made by the mini material editor, and returns the node tree back to where it was. The extra Multiply node is still there, but it has no effect since it multiplies a color with white.

More tools for handling materials can be found in the Advanced Panel > Materials section.