Home Technical Talk

(Solved) [Blender 2.8] How to maintain normal on mesh split?

polycounter lvl 6
Offline / Send Message
bitinn polycounter lvl 6
Not sure what the terminology is in Blender 2.8, but can I somehow lock the custom normal (created by Auto Smooth or Edge Split), and maintain it on mesh separate?

For example, say I have a pipe shape (before mesh split):



(after mesh split) the normal inevitably changes:



What I am trying to do: split the mesh, but maintain the smooth shading transition when you put them together, AFAIK the easiest solution would be to lock the normal, but how?

Replies

  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Not sure what you are trying to do with that pipe but from your decryption the data transfer modifier should work for you.   I mean you do one object with normals you want ( not split)  and a target object where you split edges whenever you need.
    Then just  transfer/theft/project  normals from first to target object.   That  way you could have perfectly smooth shading transition even across separate/split  meshes.

    Did it in 2.79.       Couldn't force myself to work in 2.8 notwithstanding a few cool new features






  • Brandon.LaFrance
    Online / Send Message
    Brandon.LaFrance polycount sponsor
    Just dropping by to confirm that what @gnoop describes also works in 2.8.
  • bitinn
    Offline / Send Message
    bitinn polycounter lvl 6
    gnoop said:
    Not sure what you are trying to do with that pipe but from your decryption the data transfer modifier should work for you.   I mean you do one object with normals you want ( not split)  and a target object where you split edges whenever you need.
    Then just  transfer/theft/project  normals from first to target object.   That  way you could have perfectly smooth shading transition even across separate/split  meshes.

    Did it in 2.79.       Couldn't force myself to work in 2.8 notwithstanding a few cool new features

    OK Thx, looks like separating mesh and then use data transfer modifier to copy normal is the way to go.
  • pior
    Offline / Send Message
    pior grand marshal polycounter

    Hello all - bumping this up as I'd be curious to know if any better solution has been found. Transferring the desired normals from the original unsplit model is indeed the way to go and what I've been doing for a while, but it is quite prone to user error and convoluted overall especially when dealing with multiple cuts and models variants that differ outside of the common edges. Couldn't there be a way to store the normals information of the verts/faces that are about to be affected, and apply that back ?

    Or even without/before splitting off the models into different meshes, perhaps there could be a way to deal with the smoothing after running mesh>split>face by edges. And then the splitting into different models would carry over the custom normals from there.

    - - - - -

    On a side note @bitinn , there is a slight variant that exist for the current workflow that speeds it up just a bit : it is possible to transfer this normals information by running the Transfer Mesh Data operator directly from object mode. At least it saves the steps of having to create and apply the modifier - and I believe it can bypass the limitation of the modifier not being aplly-able if the models have blendshapes, but I need to double check on that. It doesn't allow to limit to operation to a given vertex group though.

  • SnowInChina
  • pixelb
    Offline / Send Message
    pixelb greentooth
    Hey, I know this is an old thread but I found it because I was trying to do what @pior is talking about and wanted to share my solution. I ended up making a simple addon that stores the vertex normals to a color attribute so you can paste them back later. You can get it here.

  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Thanks a lot pixelb   Wish we would have something like that working in geometry nodes .  Sadly no access  to split normals there.
Sign In or Register to comment.