Log In
New Account
Home My Page Projects Blender 2.x BF release
Summary Activity Tracker SCM Files

Blender 2.6 Bug Tracker: Browse

[#21226] Mirroring and sculpt

Date:
2010-02-19 02:17
Priority:
3
State:
Closed
Submitted by:
Trevor Harris (lazycoder)
Assigned to:
Sergey Sharybin (nazgul)
Category:
Sculpting
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
 
Summary:
Mirroring and sculpt
Detailed description
Due to the nature of the organism I'm sculpting, the legs are each a separate model from the rest of the monster. My plan was to sculpt one leg to a moderate resolution, duplicate it 3 times (4 legs), and then individually sculpt more details. 2 are on one side of the body, and the other 2 are on the other side. The model isn't symmetrical in the right respect, so I have to mirror it across the x axis rather than just rotate it 180 degrees. This works fine until I realize that all that did was just set the objects scale to (-1,1,1). I think "ok no big deal, I'll just apply the scale to the mesh", so now the sculpt is all messed up, almost like each step of the sculpt is inside out, possibly because the normals are flipped when scaled negatively in an odd number of dimensions (speaking of which, why hasn't this been fixed?)

Ok so I undo that step, and scale the mesh -1 along the x axis in edit mode. Sculpt is screwed up again.

Is there no way to mirror a mesh along with its sculpt data?

Also, when I go into edit mode, the multiresolution disappears and I'm left with the base mesh. It seems I can no longer edit a mesh normally when it's at a higher subdivision level via the multiresolution modifier, why not?

Followup

Message
  • Date: 2010-11-20 18:35
  • Sender: Ton Roosendaal
  • Nicholas: can you inform me if this is within your scope of actions? :)
  • Date: 2010-11-21 00:49
  • Sender: Nicholas Bishop
  • It seems like this bug is less bad than it was the last time I checked (maybe other fixes have been committed?) At least, applying negative object scaling seems to work better now.

    However, as soon as you recalculate normals after applying negative scaling (in either object or edit mode), all displacements are cleared because layerInterp_mdisps isn't really implemented yet.

    We could somewhat fix this by doing bilinear interpolation of mdisps there, but the results still wouldn't be correct because tangent-space of each displacement would be different. So I think fully correct solution would need to convert displacements to object-space, do the interpolation, then convert back to tangent space. (Without that conversion, you'd probably get weird distortions and cracks in your sculpted surface.)

    Implementing all this seems non-trivial to me, unless I'm assessing the problem incorrectly, so probably not something I have time for right now. Sergey might have thoughts on how to do this?
  • Date: 2010-11-21 10:27
  • Sender: Sergey Sharybin
  • I've made some fixes in multires when was working under #24255, so now scale applying should work ok.
    And what about layerInterp_mdisps. I'm working under this function atm and it works fine for quad faces, and i hope it'll work ok for tris soon. But anyway, not sure how this could help when you're scaling object in edit mode. I mean it could easily help when you're flipping normals, or subdiving face, i.e. I mean in this cases you know exactly when you should call interpolation and which weights should be passed to it, but not sure how this could be used when you're scaling.
  • Date: 2010-12-29 16:02
  • Sender: Sergey Sharybin
  • Mirror+scale apply works fine in object mode. In edit mode you should flip normals after scaling along x-axis. It'll work fine now for quads. Still got some small issues with triangles (some data could be lost for them -- if be more exact displacement in x and y direction of tangent space would be set to 0, only z-axis displacement would be saved -- but it's more a todo for now).

    About editing mesh with sculpt data. It'll work fine now with some limitation, i'm solving them atm. Got patches already, Brecht is re-viewing them.

    So, i think report could be closed now.
 

Attached Files:

No Files Currently Attached

Changes:

Field Old Value Date By
status_idOpen2010-12-29 16:02nazgul
close_dateNone2010-12-29 16:02nazgul
StatusInvestigate2010-12-29 16:02nazgul
assigned_tonicholasbishop2010-11-21 00:49nicholasbishop
ResolutionNone2010-03-14 01:34nicholasbishop
assigned_tonone2010-03-05 09:46letterrip