0
$\begingroup$

I have a path that consists of a cube primitive, using four modifiers to get the effect I want (sort of):

  1. Bevel
  2. Array
  3. Smooth
  4. Curve

enter image description here

For the material, the most important part is a bump-map driven by a noise node.

enter image description here

The problem is that the Smooth modifier seems to interfere with the bump-map. I really don't want the Smooth modifier to affect the material at all - its purpose is to get the path to follow the curve more gracefully.

In the image below, I have split the sample path into two sections: the first three slabs have smoothing turned on, and you can see that the path curves gracefully, but also notice the distortion of the material. In the last three slabs, the smoothing is turned off, the slabs are angular but the material is clear.

Path showing smoothing and no smoothing

If you zoom into the image, the distortion on the first three slabs becomes more obvious.

Is there any way to either:

  1. Get the smooth modifier to smooth only the shape of the object; or
  2. Get a similar effect using something other than the Smooth modifier?
$\endgroup$
2
$\begingroup$

I would suggest a different method to get the same results. Here's what's happening with what you have right now:

The bevel modifier is adding a small bevel on each edge of the cube, which adds some extra vertices. The array modifier duplicates this object along a set axes, and then the smooth modifier smooths out all of the geometry.

The smooth modifier doesn't create any new geometry. Instead, the relatively high strength you are using is smoothing the object so much that the originally small bevels are now much larger. Essentially, the vertices created by the bevel modifier are getting pushed towards the center of the cube.

This is all fine, but you're noticing an issue that this method causes.

Materials are applied to the object before certain modifiers. Thus, the texture is applied to the bevel created by the bevel modifier, but then that bevel is stretched (smoothed) by the smooth modifier, and thus you get the stretched texture.

Instead, remove the bevel modifier and the smooth modifier, and use a subdivision surface modifier set to simple. This will add some extra vertices that will allow the curve to bend it smoothly.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks for the idea @Brenticus - see my answer for where I ended up! $\endgroup$ – Thailandian Apr 20 '18 at 2:10
0
$\begingroup$

Thanks to @Brenticus for the inspiration! I experimented a bit, and rather than using a Subdivision Surface modifier, I ended up actually subdividing the original cube.

I think this is more efficient, because I only needed to subdivide along the length of the slab, whereas with the Subdivision Surface modifier, you don't have that degree of control. Here is an image of the subdivided cube in edit mode.

enter image description here

At first I tried 8 subdivisions, then 4, and finally settled on 6 as a compromise between quality and render time. In any case, the curvature of the path is much better than with the Smoothing modifier, the material is not distorted, and there is no appreciable effect on render time.

The image below shows the first three slabs with the Smoothing modifier, compared to the last three with a subdivided initial slab.

enter image description here

The next image shows a comparison between the Subdivision Surface modifier (first 3 slabs) and actually subdividing the cube (last 3 slabs).

enter image description here

The quality looks about the same, but it did increase the render time by about 10%.

Once again, thanks to Brenticus for heading me in the right direction.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Even better than my suggestion! Glad to hear I could steer you towards a good solution. $\endgroup$ – Brenticus Apr 20 '18 at 23:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.