2
$\begingroup$

So I'm making a catapult and I need all the parts of the arm joined together so when I animate it, they all move together.

Image of the front of the arm modelled

The problem is when I join up the parts of the basket and arms in the front together, the shading gets messed up because the arms are shaded smooth with auto-smoothing and the chain link has been shaded smooth without auto-smoothing isn't. Refer to images below.

The chain link sin't auto smoothed because it looks fine with just shade smooth

How do I make it so that both the chain and the arms retain their individual smoothing settings or combine them in such a way that both look good?

When I join up the parts, the arms stay nice and shaded but the chain becomes sharp again

$\endgroup$

3 Answers 3

3
$\begingroup$

Solution 01
Smooth/flat shading is applied per face, not per object.
So just change it for individual faces of your mesh.

Here is an example of a chain.
It's one object, consisting of multiple meshes, like in your case.

Select only one mesh.
Click a face and then Select->Select Linked->Linked enter image description here

Apply shading only to these faces.
Mesh->Shading->Smooth faces enter image description here

You're done.
Different parts of your object are now shaded differently. enter image description here

Solution 02
Play with the Auto-smooth angle.
Auto-smooth is applied per the whole object, but you can adjust what edges are considered smooth. enter image description here

Solution 02.1
(thanks to Robin Betts)
Mark some edges as sharp. They will then be shaded flat, no matter what the angle is.
Edge->Mark Sharp. enter image description here

$\endgroup$
3
  • 3
    $\begingroup$ Also, smoothing groups can be separated by marking the edges between them 'Sharp' $\endgroup$
    – Robin Betts
    Commented Nov 26, 2019 at 11:39
  • 2
    $\begingroup$ Thanks for the comment, I'll add it to my answer so it's all in one place :). $\endgroup$ Commented Nov 26, 2019 at 11:46
  • 1
    $\begingroup$ Thanks for the help guys, I finally got it to work! $\endgroup$ Commented Nov 26, 2019 at 12:24
1
$\begingroup$

Select the object you want to preserve smoothing and click add custom split normal data at the mesh properties geometry data section. This will properly mark your edges sharp. You can then join your objects. Make sure the newly joint object has auto-smooth enabled. enter image description here enter image description here

$\endgroup$
0
$\begingroup$

How to combine a Shade Smooth and an Auto-Smooth object together in Blender? Jachym's answer is great, but I would like to add a few additional notes I discovered today:

The result of Auto-Smooth shading will look different than if you simply select certain faces and set Shade Smooth or Shade Flat (via the Object Context Menu, accessible via "W" key for Right-Click Users, or by right-clicking for Left-Click Users).

If that's the look you want, then great. However, if you want to exactly match the shading achieved with Auto-Smooth, you will need to use an Edge-Split Modifier (either with the "Edge Angle" setting, which is identical to Auto-Smooth behavior, or with the "Sharp Edges" setting, where you manually choose what edges will be sharp by pressing Ctrl E > Mark Sharp or Edge > Mark Sharp on selected Edges in Edit-Mode).

The differences in Shading can be clearly seen in the 3 example images below:

1. Faces set to "Shade Smooth", "Auto Smooth" Enabled: Shade Smooth+Auto Smooth_Blender

2. Faces set to both Shade Smooth and Shade Flat, "Auto Smooth" Disabled.

Note how the reflection on the inner rim has CHANGED:

Shade Smooth+Shade Flat_Auto Smooth OFF_Blender

3. Faces set to "Shade Smooth", Edges Marked as "Sharp", and EdgeSplit Modifier.

Note how the reflection in the inner rim matches the Auto-Smooth version EXACTLY:

Shade Smooth+Edges Marked Sharp+EdgeSplit Modifier_Blender

If you use the Edge Split Modifier version, be sure to APPLY the modifier before joining this object to a different object that uses Smooth Shading on all its faces. You can apply any modifier by hovering over it an pressing Ctrl A.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .