Advanced Procedural Wood for Blender & Cycles

Software:
Blender 2.8 | Cycles

CG-Lion Wood Presets Pack 1.0 is an advanced 3D procedural wood shader I developed for Blender and the Cycles render engine that produces consistent wood pattern on all sides of the model without requiring UV coordinates.
The shader has many tweak-able parameters for easy customization of the wood pattern, and also has built-in varnish coat and paint layers.
CG-Lion Wood Presets Pack 1.0 ships with a ready-to-use material preset library.

CG-Lion Wood Presets Pack 1.0 is available on Blender Market:
https://blendermarket.com/products/cg-lion-wood-presets-pack-1

CGL_Wood_Presets_Pack_1.0_Node_B.jpg

This slideshow requires JavaScript.

CGL_Wood_Presets_Pack_1.0_Previews_Natural

CGL_Wood_Presets_Pack_1.0_Previews_Matte_Varnished

CGL_Wood_Presets_Pack_1.0_Previews_Varnished

Related:
Realistic Spotlights for Blender & Cycles
Optimized Architectural Glazing Shader for Cycles
Customizable Photo-realistic Car-paint shader for Cycles

 

Basic Cloth Material in Arnold for Maya

Software:
Maya 2018 | Arnold 5

An example of a basic traditional (not scanned) cloth material setup in Arnold 5 for Maya using an aiStandardSurface shader.

Untitled-1.jpg

The shading network uses a classic angle dependent color blend to simulate the color of the cloth being washed out at grazing angle of view.

Explanation of the node graph:

Untitled-2.jpg

  1. A black and white fabric weave texture that will serve as input for multiple shading channels.
    * This is actually not the best example of such a pattern, and could be replaced with a much better texture.
    cotton grey bump
  2. A remapValue node is used to set contrast to the fabric pattern (reduce contrast in this case) prior to it being multiplied with the fabric colors.
    * Note that only one of the textures RGB channels is connected to the remapValue node since it’s a float (mono) processor and not RGB.
    Untitled-3
    * Note that depending on the fabric texture, you may have to design different curves to achieve the right effect.
  3. Two colors are defined with colorConstant nodes:
    A deep color as the main fabric color, and a washed out color for grazing angle view (“side color”).
  4. An aiFacingRatio node is used as an input for incident angle info.
    * Note that in this case I checked the node’s invert option to make it behave more like other systems I’m used to (if you don’t use invert, the angle blend curve in 5 will be different..)
  5.  A remapValue node used to set the angle blend curve or in other words, how much does the color appears washed out per change of view angle of the cloth surface.
    * The longer it take the curve to become steep from left to right, the more the main color will be dominant before the washed out color will appear.
    Untitled-4
  6. A colorCorrect node is used in this example just as a way to convert the remapped float value back to RGB for being multiplied with the cloth colors.
    * We could also connect it directly to the individual float components of the RGB colors but this way the node graph is cleaner.
  7. A multiplyDivide node is used to multiply the processed fabric texture with the 2 fabric colors “baking” the pattern into the color.
  8. A blendColors node is used to blend the 2 processed fabric colors together according to the processed facingRatio angle input.
    The result is the final cloth color that is connected to the aiStandardSurface shader.
  9. An aiBump2d node is used to convert the fabric pattern to normal data that will be connected to the aiStandardSurface shader to produce bumps.
  10. An aiStandartSurface shader serving as the main shading node for this material.
    * Note that under Geometry the Thin Walled option is checked so that the Subsurface layer of the shader will act as a Paper Shader rather than SSS.
    * The main cloth color is connected to the SubSurface Color input.
    Untitled-5

 

More Arnold shading posts

Getting Maya 3D Paint to work

Software:
Maya 2018

Steps needed for Maya 3D Paint to work:

  1. Set a project folder and save your scene.
    * If your painting into an existing texture you can skip this step.
  2. Make sure your model has UV coordinates.
  3. Make sure your model has a basic Lambert material.
    * If you’re using a different material/shader on your model,
    Temporarily switch to Lambert just for the texture painting operation,
    And connect the original shader with the painted texture map to the surface shader input of the shading group after you’re done painting.
  4. In the Rendering tab toolbar, Double-Click the 3D Paint tool button to activate 3D Paint and also open its tool settings window.
  5. Make sure the object is selected.
  6. In the 3D Paint Settings window, go to the File Textures part,
    Choose a material attribute to paint to.
    * this would usually be Color because we are using Lambert temporarily anyway.
  7. Click Assign/Edit Textures to open the Assign/Edit Textures dialog,
    Choose a resolution and a file format for the new texture,
    And than click Assign/Edit Textures button at the bottom of the Assign/Edit Textures dialog to create the new texture and close the dialog.
    * If you already connected an existing texture file to the Lambert shader’s Color input you can skip this step.
  8. Check Update on stroke and Save texture on stroke.
  9. Set the viewport to Textured display mode.
  10. Set paint brush settings.
  11. Click the 3D Paint tool button to activate it and paint on the model surface.

Untitled-1

UE4 – Bump Map

Software:
Unreal Engine 4.21

To use a ‘Bump Texture’ in UE4, or in more geeky terms, derive Normal data from a supplied height map, use the NormalFromHeightMap Node.

Notes:

  1. The height map textured is supplied via Texture Object node and not Texture Sample, and is connected to the NormalFromHeightMap‘s Height Map input.
  2. A numeric vale is connected to the NormalFromHeightMap‘s Normal Map Intensity input to control the intensity of the resulting Normals/Bump.
  3. UV coordinates for the bump map should be connected to the Coordinates input of the NormalFromHeightMap node.

bump

 

Randomize textures in V-Ray for Maya

Software:
Maya 2018 | V-Ray 3.6

Connect the different texture options as inputs to a VRayMultiSubTexNode and connect it to the wanted material input.
In the VRayMultiSubTexNode attributes, set Get ID From to Random by Render ID.
* Press add new item in the VRayMultiSubTexNode attributes to add one or more inputs to the list.

Untitled-1

Creating a Sprite Sheet in Animate

Software:
Animate CC 18

To generate a Sprite Sheet (Texture Atlas) in Animate:

  1. Create a new project.
    * the type of the project doesn’t matter.
  2. Drag all your animation frames from into the Library window in Animate.
  3. Select all the frames in the Library window.
  4. RMB Click the selected frames and choose Generate Sprite Sheet.
  5. In the Generate Sprite Sheet window, set the Sprite Sheet settings, output path and press Export.

Untitled-1.jpg

Untitled-2

Untitled-3

Runner_Atlas

3ds max – Unwrap UVW snapping to a defined grid

Software:
3ds max 2018

There are cases where we need to have the UV borders and edges placed precisely on a certain grid. an example of this is when preparing a UV layout intended for baked lightmaps in a game engine, that should preferably be aligned to a 64 by 64 or 128 by 128 grid.

To set the Unwrap UVW editor window grid to 64 by 64:

  1. In the Unwrap Options window:
    Set the Checker display to 64/20 which is 3.2.
    Set the Grid Size to 1/64 which is 0.015625 (the numeric field displays the value rounded to 0.016)
  2. Turn on the grid display in View > Show Grid.
  3. In the Unwrap Snap Settings, make sure Grid Snap is checked.
    * Hold and drag the snap button to open the Snap Settings.
  4. Activate Snap.

Note:
It works only in Vertex selection mode.

UV_Snap.jpg