Creating Wicker Tutorial

01. Introduction

In this guide, you will learn various methods of creating photo-realistic wicker. Using the basic functions of 3DS Max and Photoshop, this guide will detail how to efficiently model any type of wicker and how to ensure its likeness to the represented product.

Wicker Models produced by 3D Viz team at Wayfair

 

02. Displacement Wicker v. Modeled Wicker

Introduction to building 3D Wicker

Creating wicker in 3D can prove arduous to the uninformed. At a glance, there are hundreds or thousands of small strands of wicker woven in and out of each other, making the task seem daunting; however, is not the case. With the proper use of displacement or geometry, and sometimes both; realistic wicker can be created quickly and efficiently. First, we must understand the difference between ‘Displaced’ and ‘Modeled’ Wicker, and when to use it.

Understanding Displacement

a. Using displacement for wicker can be a powerful tool for any artist. As defined by ChaosGroup, displacement acts very similarly to bump; however, bump only affects shading, whereas displacement actually modifies the surface. Displacement is a way to create the appearance of highly detailed model by creating geometry only at render time. Using this method, you can create the appearance of a Wicker Weave on a relatively featureless piece of geometry. Displacement can even be used in special cases to make weaves with open or loose patterns (see Section 5. iii). If used correctly, you can expect results like this:

b. Above are examples of high fidelity models that hold up when rendered, even at a relatively close distance. They achieve high resolution by having clean, well UV-ed geometry and high resolution maps that are used in the displacement. Below are some bad examples:

The Models on this page clearly don’t hold up as well as the previous examples. This is due to a combination of poor geometry, inadequate UVs, and sub-par height maps

Takeaway: Displacement should be considered when the product includes pieces that seem to be a part of one solid piece and could be modeled as one singular mesh. (i.e. seats or backs of chairs or table tops). In special cases, displacement can be used to create an open weave pattern with an opacity map (see Section 5. iii).

Understanding Modeled Wicker

a. Creating modeled wicker can yield an incredibly realistic model. Geometry allows the product to react more accurately to light and shadows and show gaps sometimes found in wicker weave patterns. Although making wicker geometry may tend to take longer than using a displacement; if it’s done well, it usually looks superior. Ultimately, it is your own preference whether or not to use geometry, but as a rule of thumb, geometry is needed when there is a wide weave pattern, such as this side table on the left:

b. As you can see, these examples showcase neat, life-like wicker patterns. In the examples there is minimal to no clipping, the UVs are laid out well, and most importantly, it matches the reference pattern. While geometry can seriously improve the realism of your model, poorly made geometry can simply ruin it, as shown in the chair side on the right:

Takeaway: Consider using geometry for wicker if you feel the extra fidelity is needed for your model or if there is a large weave with gaps that displacement can’t achieve. Geometry, while potentially time consuming, creates fantastic quality models and can be easily used to create open weave patterns. It is also an integral step in making a Z-Depth pass to be used for displacement (see Section 5. iii).

Pros and Cons

Displacement

Pros Cons
Generally quicker to make Looks worse close up
Looks good from distance Can increase render time
A set of good maps can be reused Cannot always recreate open weave patterns

 

Modeled

Pros Cons
Generally looks better than displacement Can take longer to create
Can be edited using Modifiers Dense Meshes cause scene lag
Can be used to create high quality maps

03. Analyzing the Product

03.1. Blueprinting

In this section, we will examine how to break down products into manageable pieces for 3D construction, and discuss how to decide whether to use displacement or geometry. This step is important for an efficient workflow because it helps avoid unnecessary work. By planning out how you intend to create your model before starting, you can visualize which parts can be duplicated or mirrored, and more importantly, decide what resources you will need moving forward.

a. Break down the Product

i. Imagine how the product was constructed, how each piece was woven and attached to one another. Model each piece as a separate object(s).

ii. Decide whether to use Displacement or Modeling for each piece:

  • Use Displacement if the piece:
    • is a solid weave (no gaps)
    • Has a continuous / repeating pattern on a solid surface
    • If the section could be made easily with a simple mesh
    • For pieces such as seats, table tops, or legs
  • Note: If using displacement, be aware of any maps you may need or may need to make (see 5. iii)
  • Use Geometry if the piece:
    • Has a pattern that is loose or has noticeable gaps
    • Is unique and requires a specific pattern or weave
    • For pieces such as decorative weaves and weaves with cylindrical strands
  • Note: If using geometry, be aware of any patterns you will be using and find appropriate templates.

iii. Analyze the material properties:

  • Color / Diffuse
    • Overall color
    • Color Variations
  • Reflectivity
    • How much light reflects off of the wicker
  • Glossiness
    • How sharp are the reflections
  • Bump
    • How smooth is each strand

iv. Take note of smaller details and defining features

  • Feet
  • Fasteners
  • Support loops for weaves

04. Creating Displacement for Wicker

04.1. Overview

If your product has tightly woven wicker with a common pattern or it has wicker wound around a leg or crossbar, and it needs to be completed quickly, displacement might be the right choice for you. This section details how to create and use displacement effectively on your model.

Both the binding on the crossbar and the top of the table are perfect examples of what displacement can achieve

 

04.2. Geometry

Before beginning to use displacement, it would be ideal to have all of the parts of the model using displacement completely modeled and Uv-ed correctly. This would allow you to get a better idea of scaling and height on your finished product; however, in a pinch, this can be done on a plane or other simple primitive.

04.3. Analyzing patterns

There are countless variations of wicker patterns used on furniture. Sometimes multiple patterns are used on a single product. It is of utmost importance that you understand what pattern or patterns are being used on your product and be sure to match it. For this section, we will be creating the table top weave as our example.

Additionally, this is a good time to check for color variations in your pattern. For more on this topic, see Section 5.

04.4. Composing a High Quality Height map

The displacement of your wicker is entirely dependant on the heightmap used. As such, you must ensure the bitmap:

a. is 100% tileable

b. Matches the pattern

c. Matches the diffuse Maps pattern 100%

d. Does NOT have baked in lighting

It may be useful to draw out the weave or pattern to better understand it

Ideally, you could use your diffuse map as your height map. This can only be done; however, if your diffuse has little to no lighting or bump information baked into the texture.

Examples of quality height maps

 

04.5. Creating Height maps from the Diffuse

a. For this section example, we’ll be making a height map for the pattern displayed above using this map:

This map is simple enough to use, but still have a bit too much lighting information in it

 

b. First, make sure the image being used is a square aspect ratio, to make tiling easier.

c. Next, eliminate all lighting information. Use a Selective Color layer to add black to all whites on the pattern, then use a levels adjustment to up the contrast a bit. Add a Hue/Saturation layer adjustment on top and desaturate it completely

Use a levels adjustment layer to push the highs and lows if needed

d. Seeing as the pattern we’re modifying is different from what we need, we need to lengthen the horizontal strands. Make a Merged Copy of the grayscale image by pressing Control+Shift+Alt+E.

e. Select one column of horizontal wicker and the vertical strand that runs through it. Invert your selection and delete the rest of the pattern

f. Make a selection of the horizontal wicker again and scale them out. In this case, approximately to twice their size.

g. To add some height information to our pattern, use a Black and White gradient like this:

Make a gradient down the middle of the column, with white in the middle and black on the sides. Set this layer to multiply or overlay. Make another Merged Copy.

h. Make duplicates of the layer and begin tiling the pattern. It is good practice to put all these copies into a group.

i. Add a pure black fill to a layer and put it underneath all of the columns. This fills in any small gaps left behind by the tiling.

Now, crop the image to make it tileable. Before cropping, save an incremented file in the event we need to go back a few steps. Make a crop that begins after one vertical weave and ends after another. The top and bottom horizontals should be staggered.

Now the displacement is completed! Open 3DS Max and see how it looks.

04.6. Applying V-Ray Displacement

a. Next you are going to apply you newly made Height map to the product model to test how it works.

b. Starting with a single mesh, add a V-Ray Displacement modifier. Insert the new map as the Texmap.

c. For this example, the wicker does not have a substantial amount of height variation, so you will keep the amount and shift at a low numerical value.

d. For your own wicker endeavors, feel free to experiment with different values; however, a good starting point is displayed on right.

e. For accuracy reference your product and look at the overall difference between the peaks and valleys of the wicker. These differences will dictate your Amount and Shift.

f. Note: You can apply the same displacement to wrapped sections, such as: legs or cross bars. Duplicate the map in Max and set the X tiling to something very small, like 0.1, and it will create the effect of wrapped wicker.

04.7. Creating a diffuse from the Height

a. In most cases, each wicker product will have a slightly different color or grain pattern to it. You can easily use the Height map to create an accurate diffuse map.

b. First, find a high resolution close up of the product–one that specifically shows the detail of a strand.

c. In Photoshop, make selections for multiple sections of the close up image that doesn’t have much lighting information, glossiness, or perspective warping. (see example)

d. Copy the selection, and paste it to a new layer. Then, using the marquee tool, move the swatches of the pattern next to each other in a square. Use the Spot Healing brush to heal away of the seams.

e. Make a square marquee selection on the wicker grain, then click Edit>Define Pattern.

f. Make a new layer, then press Shift+f5 (Fill hotkey). Save this out to be used on any binding or places that does not show the wicker’s pattern.

g. Move this layer underneath the Heightmap layer and set the Heightmap to overlay. Tweak the opacity until you can see a hint of the height map. Save this out for wherever there is a full weave.

h. Now you have a diffuse map.

05. Modeling Wicker From Scratch

05.1. Overview

Whether you have a unique feature that can’t be made with a repeating texture, a weave with a lot of depth that doesn’t look good with displacement, or simply need to make high quality texture maps from scratch, you can make all wicker by starting with Splines for the individual strands. The techniques in this section will cover modeling wicker from scratch.

A curvy, non-tileable modeled section, and a model used to create a high-quality tileable maps for an unusual pattern.

 

05.2. Creating a basic flat weave with Splines

a. Create a straight Line with 2 points. Wicker can also be created starting with polygons, but because almost all woven patterns involve gentle curves, the curved interpolation between points on a spline will be very useful.

b. Always activate the Generate Mapping Coords checkbox to generate already-flattened UVs for any spline you make. Under the Rendering settings, check Enable in Renderer and Enable in Viewport, then pick either rectangular (for flat wicker strands), or radial (for cylindrical strands). You can go back in and edit all of these settings later, so feel free to experiment with them.

c. The number of sides on a Radial Line doesn’t need to be very high, because the model will probably never be viewed close enough to see the sharp edges (never higher than 8). Adaptive interpolation will add as many additional edge loops as needed to create smoother curves between points on a curved spline, which can result in very dense geometry later. Optimize will cap the number of added loops at a given value. If your Viewport is already running slowly from a large amount of geometry in your scene, you can check Use Viewport Settings to set lower-detail settings in your viewport and higher detail settings at render time.

d. To add evenly spaced vertices along the spline, add a NormalizeSpl. modifier. There will be no visible change, but this modifier adds a vertex every given segment length, with a minimum segment length of 1 unit. If you have a dense or very small wicker weave which would require up and down curves more often, you can still create it with a segment length of 1 and scale your finished pattern to correctly fit your model later. If you are planning to bake your wicker into a texture, the scale of the model now won’t matter, only the size of the UVs and the tiling of the texture on the final model.

e. Adding an Edit Spline modifier allows you to view and edit the verts and segments created. If you make any changes lower down in the modifier stack that affect the position or number of vertices on the spline, you will lose the changes you make in the Edit Spline; therefore, you cannot change the segment length spacing or initial spline. However, you can go back into the Line and change the Rendering and Interpolation settings as much as you want without affecting the modifiers above.

f. Select every other vertex along the spline and move them up to create a regularly-spaced wave, leaving room for a corresponding strand to be woven in. You can also use a Ripple modifier for this step- just move the Center (where the waves radiate from) to the start of your strand, and set the Wavelength to be twice the segment length in the Normalize Spl. modifier.

g. Use the Array tool to create perfectly spaced instances of your strand. If your Normalize Spl. modifier spaced each vertex 1” apart, wicker woven perpendicular your initial strand would also be spaced 1” apart, to fit into the ‘ups’ and ‘downs’.

h. Select every other instance and move them exactly 1 inch to the side, so that the waves perfectly alternate.

i. Now, if you instance and rotate the same strands 90°, you may have to move the new strand up or down, but it will be spaced to perfectly fit in. You can fine-tune the height of the waves or any of the Line Rendering settings in the Edit Spline of one strand to affect all instances, so you will want to avoid collapsing the modifier stack or converting the splines to editable polys for as long as possible.

j. If the wicker piece you are trying to create has differently shaped strands or spacing in another direction, for example: if strands cross over twice as often vertically as horizontally, you can simply make a correctly-spaced strand for the other direction, and then Array instances of that one with the same uniform spacing. If you have a wicker pattern which involves strands woven at an angle, you can do some simple math to calculate the necessary NormalizeSpl. segment length and needed Array spacing:

k. If strands come towards each other at an angle, they form sides of a right triangle, and Trigonometry or the Pythagorean Theorem can be used to calculate the correct length of the angled segment. In this example, a strand coming towards 1”-spaced strands with segment lengths of 1” at 45° forms a triangle with a hypotenuse of √2”, or approximately 1.414”, giving you the value to enter in the NormalizeSpl. Spacing. You will have to move the strands to line up the waves, but the spacing of their vertices will fit perfectly.

The spline on the left has the correct vertex spacing, but the strands needed to be repositioned to match up the ups and downs.

l. This technique can be used to interweave as many directions as you need. Always use the Array tool to create evenly-spaced instances, and when making adjustments always select all strands of a given direction to move at once. If you move some strands and not others, the pattern will no longer be perfectly and evenly spaced, causing it to no longer be tileable and increasing the chances of strands clipping through each other.

m. You have now successfully created a woven wicker pattern. The pattern is flat, and the edges are untrimmed, so in section 05.3 we will cover techniques for trimming and deforming wicker sections into place, and creating borders and connections to a frame. If; however, you would like to create Displacement maps from your pattern, the flat, untrimmed section is all you need, and you can move on to section 05.5. Either way, it is worth saving a copy at this stage just to have.

05.3. Creating complex shapes from your flat weave

a. In many cases, sections of woven patterns on wicker furniture are surrounded by a frame,thus a model of a weave can simply be positioned to clip into that frame. In the example below, a flat weave made using the above techniques was given an FFD modifier to adjust its shape to match the curves of the chair frame, and then finally the extra length of the strands was trimmed off. Splines can be trimmed with a Slice modifier, but as all the splines are instanced they would need to be made unique to be trimmed properly, and once you have lost the advantage of using instances, you may as well collapse the weave to one object.

The slight curve of the pattern at the bottom to match the curved frame was made with an FFD, adding realism.

 

b. Once the weave is collapsed, the stray ends can be deleted in an Edit Poly, and trimmed with a Boolean Compound Object–or you can create a Spline with the exact curve of the shape you need and use it as a cookie cutter with the ShapeMerge Compound Object.

c. Some products will show the ends of a woven pattern or have more complex shapes than a continuous pattern repeated across a flat area, in this case hiding trimmed edges inside of a frame may not be an option, . The sides of this table’s shelf include a flat weave where the vertical strands are ellipse-shaped (red) with wider strands attaching them to the frame (green), horizontal strands the curl around and connect to the strand next to each them (blue and yellow); and a decorative helix or coil shape at the top and bottom (purple).

d. To create the main woven section, you can use a modified version of your flat weave technique, but the vertical strands will be evenly-spaced loops created with Circle shapes that have extra vertices added and moved up in an Edit Spline.

e. You need the ends of the strands to curl around and connect, so you cannot trim the ends if the verticals. Using just one pair of vertical strands, make them unique, and then Attach the two splines.

f. Next, in the Edit Spline, delete any excess length, and move the vertices on the ends of the two unconnected strands until they match up. This sort of merging could also be done after converting the strands to Editable Polys, but then you would lose the curvy spline interpolation, as well as the ability to change the Spline rendering settings.

g. With both vertices selected, click Weld, then repeat for the other side, after completed you will have a continuous strand with natural looking ends. Now you can array instances of this strand pair the same way you usually would.

h. To move your pattern into place on your model, create a Spline to use as a path (in this case a Circle).
Then group your woven section and apply a PathDeform modifier. You may have to check through the Path Deform Axis options to get the desired bend. If your wicker is angled, you can use the Rotation value, but if your shape needs to, taper in at the middle and widen at the ends, just use an FFD.

i. Note that the PathDeform modifier is different from the PathDeform (WSM) modifier: the WSM modifier affects World Space, it will always go at the top of the stack above object-space modifiers. The two can be useful for different purposes. If you want to be able to adjust proportions with an FFD to match your wicker up with your object though, you’ll want the FFD above your PathDeforms.

05.4. Decorative Strands

a. Next you will learn to make decorative strands which may be found around the border of a pattern. To create the coiled strands, rather than starting with a straight Line you will use the Helix spline. In this example, three instanced Helix shapes are offset to alternate, which creates a triple helix, the same way you alternated ups and downs with flat wicker splines. To get a tighter coil, the Radius and number of Turns can be adjusted.

b. An Edit Spline modifier on top allows you to select the Spline sub-object and scale this pattern mostly flat while maintaining the cylindrical shape of each individual strand.

c. This allows you to easily create patterns like this flattened quadruple helix, where each part of the helix is three strands next to each other, and all are instances.

d. A braid is slightly more complex, because it involves up-and-down waves with different spacing than the side-to-side waves on the same strand to make the coils actually interlock. This is present in this very loosely interlocking quadruple helix pattern around the side of this table.

e. You can use 2 offset Ripple modifiers along different axes to create a braid from scratch (Here is a tutorial for that). You can also use an Edit Spline with a Soft Selection to pull the strands up and down where you need them to be, as you did when creating our original flat weave.

f. Any of these flat patterns (including flattened braid patterns) could be baked to Displacement and Opacity maps, as described in section iii, or given Path Deform modifiers to be placed onto a product.

g. In the case of this table; however, there are also loops of flat wicker connecting the loose braid to the frame. A tightly coiled Helix could be used to create the wrapping across the frame, but because no gaps are ever visible between strands, there is no point creating an enormous amount of geometry over using texture displacement for the frame.

h. The connecting loops should have the same size and material as the wicker wrapping the frame. To create these features, you will go into the frame’s Edit Poly select a ring of faces, and clone them to a new object. Starting with these faces gives them materials and UVs that match the existing frame, so they will look attached.

i. Next you can add a Shell modifier to give the loop some thickness, and stretch it up and out a bit in the Editable Poly to get your desired shape.

j. In this case, you want to repeat your shape at even intervals around a circle. With this object’s pivot at the center of the circle we can simply use the Array tool to create rotated instances. If you needed to instance this loop along a differently curved shape, you could get a spline to use as a path from your frame instead, and Array along a Path Deform. The Array tool has a very nice feature where in the top section you can set the total amount of Rotation you would like to cover (360° for a circle), and it will create as many instances as the number you put as the 1D count evenly spaced to fill that circle.

k. If you know the circumference of your frame (or length of your desired shape), and the number of segments it will be divided into, you can calculate the wavelength of any wicker strands you need to create. Conversely, if you know the wavelength of your modeled wicker, you can array along a path with that 2D spacing, rather than using the rotation trick above. With either of these methods, your wicker waves should match up exactly with these connecting loops.

l. If you are using a Helix shape, you can make the length of a single Helix equal to your desired circumference, set the number of coils to line up with the number of connecting pieces, Path Deform, and then stretch, trim, and connect any potential loose ends before creating the interlocking instances.

m. On the other hand, if things don’t perfectly match up, you can use the Stretch parameter in a PathDeform to stretch your pattern until it does fit.

n. Using all of these techniques in combination, flat weaves, coils and braids, and connecting bands, should leave you prepared to tackle even the most challenging wicker features in geometry.

o. For products that are covered in large stretches of the same tiling patterns, you can move on to the less-complex process of baking out maps from geometry in Section iii.

05.5. Creating displacement maps and masks from your flat weave

a. If you are ready to create textures from your flat weave of instanced splines from part i, add a 2-iteration turbosmooth or change the settings of your Lines to add more sides to cylinders; make any necessary changes to get the curves in your model as accurate as possible. This extra geometry is normally not needed on a smoothed model, but if you are creating displacement maps you want any curves to be as smooth as possible.

b. Create a target camera facing straight at your wicker, set to Orthographic Projection (perspective distortion would make the pattern no longer tile), and adjust the FOV to see a portion of your pattern. We can trim the end result in photoshop to make it tileable.

c. To create a height map, first add a VRayZDepth Render Element in the Render Setup. The only setting we need to change is the zdepth min and zdepth max, the closest and farthest distances from the camera that we need to capture in our map. To find values for these, you can move the Camera’s Target just above your model (for min) and just below (for max), and copy the Target Distance values in.

d. When you render, the RGB Color pass will be black (since there are no lights), but the VRayZDepth and Alpha are accurate. Any modeled pattern can be baked to displacement and opacity like this- the following steps will cover turning this model into all the needed tileable maps.

Note: If you save a height map as an 8-bit grayscale image, you may see obvious banding or ‘steps’ between sections when it is used for displacement- 256 shades of gray may not be enough to represent subtle curves. Make sure to save displacement maps as 16-bit grayscale images (or higher) to get full quality.

e. When using this displacement map on a model, we will probably also want to add variation to the diffuse, bump, spec, etc. But if you use one texture across the whole model, variation will appear across multiple strands of wicker in an unrealistic way.

f. While we have the modeled wicker in front of us we can easily create masks for a future blend material, to allow us to put different textures on the different strand directions. To do this, we will assign a different Object ID number to the wicker strands going in different directions. Object ID can be found in the G-Buffer section of the Object Properties window.

g. Next we will add the MultiMatteElement render element. This element creates an render where any objects with a given Object ID will show up as red, another will show up as blue, and a third will show up as green. If you need more than 3 masks (in the hypothetical example of a wicker pattern with strands going in more than 4 directions), you can add a second MultiMatteElement that uses different Object IDs.

h. Now we can save out the ZDepth (to use for displacement), the Alpha (for opacity, to create the gaps between the strands), and the MultiMatteElement passes, to split into masks for separate strands. Open them all as layers in one Photoshop document, so that we can trim them all to be tileable and match up with each other at once.

i. Your wicker pattern from 3DS Max should repeat perfectly, so if you start and end your selection on a distinctive repeating feature such as a corner, you will be able to Crop the entire image and get a perfect tile for all your layers. If you misalign your selection, then it will not tile. You can temporarily check if your image tiles correctly with the Filter>Other>Offset filter.

j. Save out your cropped height and alpha maps, then save out just the red, just the green, and just the blue channels of your MultiMatte layer as their own black and white images for use as masks.

k. These masks allow you to add textures for color, bump, or specular variation along each strand. An advantage of adding this variation after creating your displacement map is that variation does not need to repeat as often as the wicker pattern does, which could reveal obvious tiling.

l. Open up your 3DS Max scene with the UVed model you would like to apply this wicker pattern to, and create a V-Ray material, with your Alpha map plugged into the opacity, and your height in the displacement (or a V-Ray Displacement Modifier). Then you can add whatever textures you would like to use for variation. In this example, I have used a wood bitmap to add a wood-like grain. As you can see from this material preview, it looks unnatural when the wood grain continues across all strand directions…

m. So create a VRayBlend material with a coat for each additional strand direction, and a copy of the initial material, but with any detail/variation textures rotated to match the strand. For a vertical strand, rotate 90°, for this example, one coat would be at 45° and the other at -45°.

n. Now we simply plug our direction masks into the Blends for the corresponding Coats of the blend, and the wood variation appears only on the correct strands, going at the correct angle.

o. This also allows you to add color variation to only a specific strand, if you happen to have a wicker product where, for example the vertical strands are a different color or material, or there are stripes of different shades. Just remember that with this blend material setup, if you need to adjust the tiling of your wicker, you need to adjust it for each coat

The second chair back has a Gradient Ramp in a Composite node above the Base Material’s Diffuse, giving only the horizontal strands a different color.

 

p. Now move on the section on Materials settings, armed with your high-quality custom displacement map, to perfect the realism of your wicker.

06. Wicker Materials and Photorealism

06.1. Overview

a. In this section we will discuss the intricacies of Wicker Material. This is not the end-all-be-all for wicker materials, but will provide a starting point and springboard for building your own wicker. It cannot be stressed enough how vital getting the wicker material correct is. The material can make or break all the work put in to the rest of the model.

06.2. Basic Settings

a. A simple wicker material has a straightforward layout and can rely on as little as two maps: The diffuse and the heightmap (see Section 04).

b. The Diffuse is directly linked to the map node. This is set to 100 in the material node.

c. The heightmap feeds into three different slots: the Reflect, the Bump, and the Reflect Gloss.

d. For the reflect, we use a color correction node to darken the map and reduce contrast, and is set to 50 in the Material Node. This makes the wicker semi-reflective and still tweakable in the material. The reflect color in the node itself is set to a dark grey (60 Value), which allows for plenty of light to gleam off each weave.

  • Be mindful to keep the reflect levels pretty low, overly reflective wicker tends to look like metal after a while.

e. The bump feeds directly from the map, it is set to 15. This adds a subtle bumpiness to the surface and helps break up reflections while adding to the effect the displacement creates.

  • Most manufactured wickers are very smooth, so keep the bump low.

f. The reflect gloss goes through a color correct as well, which reduces the contrast and brightens it slightly. The R.Glossiness is set to 0.75 in the Material, creating semi-sharp highlights where the light hits.

  • Be careful not to make the material overly glossy. Super glossy wicker ends up looking too plasticy or even metal. Inversely, if there is not enough gloss, details in the displacement or geometry get lost easily.

06.3. What to look for in Reference

a. Diffuse: Look for a base color while keeping in mind the grain variations. Also, some wicker products have random variations in their color on certain strands.

b. Bump: Examine close ups of strands for your product. Are there any knicks in the surface? A wood grain? Or is it smooth across the whole weave?

c. Reflectivity: Look for clues such as how much light bounces off the product and if you can see the image of the surroundings in the product’s surface. Once again, be careful to not make your wicker overly reflective, or it may come across as metallic.

d. Glossiness: Consider how sharp highlights are and how diffused the light becomes when hitting the product at glancing angles. Usually, wicker tends to be matte finished, but can also have a very glossy finish as well. Also, glossiness is almost always the same across the whole product, but keep an eye out for noticeable variations.

And with that, you are well on your way to completing you photo-realistic wicker! Thank you for completing our tutorial, we hope it answered any questions you had about 3D Wicker. If you’d like to check your model against ours, you can download the final example here.