The last two percent

We’re really getting down to the last little bits for the skin modifier. As noted yesterday, the modifier now has user documentation on the Blender wiki. I’ve pushed some code changes (and related documentation updates):

  • Skin vertex scaling is no longer part of the standard SKEY scaling operator; it’s now handled by a new skin-specific operator currently bound to DKEY. The choice of DKEY is completely arbitrary and could absolutely change before it gets committed to trunk. Was pointed out that this conflicts with grease pencil, switched it to Ctrl+A. Hopefully this one doesn’t overwrite anything…
  • A small improvement for armature generation: the extra root bone is now conditional upon the associated root vertex having more than one adjacent edge. See the documentation for an example.
At this point I’m still going through commits in the skin branch to check them for correctness and clarity (and of course fixing the occasional bug as I find them; now’s the time to report any problems you’ve found too.) Once this is done I’ll submit the patch for code review.
I’ve seen lots of skin modifier builds popping up on, my thanks to folks doing that.


30 thoughts on “The last two percent”

  1. The only thing I noticed from a morning build was
    1. Select vert and extrude several times.
    2. Select the original vertex and delete it.

    It seems the entire skin disappears when this happens. This doesn’t seem desirable.

    1. This is because the root vertex has been deleted; it might be nice to have it automatically choose a new vertex as root, but for now I think I prefer letting the user do it manually rather than putting a lot of special cases in the code (been there and done that for other stuff, always ends up too much of a headache…)

        1. Actually this is because you separated those vertices from the root, hence why it has no skin, you just have to select the vertex and add another root

  2. What’s wrong with using the Skey to scale the vertices? it works much quicker then having to hold 2 keys, will we be able to change the key input ourselves?

    1. A couple things: it’s hard to scale multiple skin vertices (it’s changing both vertex position and skin radius at the same time), and it’s hard to scale edges (again, because the desired/typical behavior is to change the vertex locations, but it’s also scaling skin radii.)

      The key is editable in the keymap, but don’t think you’d be able to re-combine scaling and skin resizing into one key.

      1. You make a good point, sorry if I sounded whiny I just typically don’t scale multiple vertices at once so I didn’t see what purpose the change had. It makes a lot of sense now that I think about it. Maybe the Skey could stay if it could be changed when you set it to “individual origins”? I don’t know, i’m not a coder so I have not a clue as to how these things work XP

        Btw, just out of curiosity (this really isn’t anything important) in one of your updates you were talking with someone on auto UV unwrapping with the skin mod, did anything become of it?

        1. I thought about making that toggle with ‘individual origins’ as well, but didn’t actually try it; the transform code is a bit hairy and I don’t want to accidentally break something else (or spend too much time trying to make it work.)

          Regarding auto UV unwrapping, I played around with automatically generating seams and UVs, but I found that better results could be achieved with the “Smart UV Project” script. Ideally that functionality could be used via the modifier, but as it’s a script rather than C code that’s not possible right now.

          1. Hello again, I just tried the latest build and noticed how my speed when modelling using Ctrl + A dropped by quite a bit, it’s really awkward to use. I’m sorry to say but I really see no point in the change again, conceptually what you were saying does makes sense, but at this point its hardwired into most blender users heads that “S” is scale, I believe a better solution to this would be to figure out another key combination specifically for scaling individual origins rather than change the normal usage of the S key which was standard in all the previous builds.

          2. Mentally remapping a keyboard shortcut just takes a little time; after a short period of using a new key your muscle memory will likely adapt to Ctrl+A.

          3. Personally I really like kakachiex2’s idea of having single vertex scaling remain S and scaling for multiple vertices be ctrl + A, much easier.
            If you must have it be a separate key then I would recommend using the Q key instead (as far I can tell Q does nothing), it is close to S

            PS I noticed that the documentation does not describe how to make holes, I would recommend updating that as it’s useful to know the skin mod can do that :)

          4. On second thought Q also confuses me XP, I’ll just recommend going with kakachiex2′s idea :)

      1. Also, noticed that moving the front vertex, the edge on one side changes the connection quickly and randomly, while the other stays perfect.

  3. Tested it out much more.
    This thing is way more usable. The skin generation is still not perfect. But it’s good enough to be called good. :)
    What imperfections I am talking about: Sometimes the skin vertex merges are to early. It would be nice if you could draw out an edge loop for eyes for example, but if the vertex is to close, it gets merged in. Would be great if the topology would be the same as if you pulled it out, only flattened to the character face.
    Also, many times, it has great topology, you move the vertex by one pixel and even though you’d think it would have the same great topology after such a small move, its falls apart.
    Also, would be great if skin attempted to merge the triangles it generates.
    Also, another bug – For some reason the vertexes on the shoulders are duplicated on this model:

    1. Agree about the noted topology problems, but don’t have good solutions for now. The first version of skin modifier in trunk is definitely going to have some quirks to it. :)

      Regarding triangles, it is actually merging all the triangles it can. The ones left over are either isolated (not sharing a border with another triangle) or crossing a symmetry axis:

      The extra vertices in the shoulder are due to topological fixing. Could maybe add an extra remove-doubles step at the end, but that almost feels like it should be a separate modifier.

      1. I decided to do the sane thing and added a quick remove doubles for very close vertices at the end of skin-mod generation. Doesn’t add any extra UI, and doesn’t complicate the code any :)

  4. Thanks for all the work you’ve contributed to the Blender community.
    I do have a question or two about usage that were not covered in the documentation.
    1. How do you get the skeleton of the skin modifier to display as it is in the images in the docs.
    2. Is there currently a way to reset xy scale back to square?
    (if not it would be a nice option)

Leave a Reply

Your email address will not be published. Required fields are marked *