Blender coding: version control

Workflow Introduction

Recently there was a call for Blender development videos to help new developers find their way into Blender development. I think this is a good idea, and I might participate with videos at some point. For many purposes though, text is an easier way to convey this kind of workflow information. This is the first in what might be a series of posts describing some of my own development style. The information in this post is not necessarily very in-depth; you’ll want to make good use of Google if you aren’t familiar with some of the underlying concepts. That said, feel free to ask any questions in the comments.

Continue reading Blender coding: version control

Quick github reminder

As posted here a week ago, I am now using github to publish my work-in-progress code. Currently there are two branches of interest there: sculpt masking and the skin modifier. When I make larger changes (such as the recent skin-modifier work) I usually post here, but I am actually updating the branches fairly frequently at this point, at minimum pulling in the latest updates from trunk, as well as bugfixes. So if you are interested in making experimental builds, no need to wait for a post here, just watch the blender-bishop repository on github.

I’ve just pushed some updates to the masking branch (fixing an undo crash and increasing the mask brush strength.) I also want to point out the nice new mask brush icon contributed by Julio Iglesias.

Armature extraction for skin modifier

An armature generated from a mesh with the skin modifier.

As promised the skin modifier has returned. I’m overall pleased with our detour into armature-land, I think we all have a much clearer idea of what the direction of the tools should be.

Coming at this problem from the other side now, I’ve added an operator to convert the mesh structure into an armature and generate the appropriate vertex groups. You can then add an armature modifier and pose the skinned mesh.
Continue reading Armature extraction for skin modifier

Improvement for clay strips falloff

Just committed r45110 – “Better smoothing for sculpt cube falloff.”

This is a relatively small change that makes the brush falloff curve work better with clay strips. Clay strips uses a cube-shaped brush; at full strength it looks like the top-left brush stroke in the image. The brush curve can now be used to smooth it without losing the “cubishness” of the stroke.

The first stroke in the second row shows what clay strips now looks like with the default brush curve.

Armature skinning (is the devil?)

Thanks to all for the feedback on the armature skinning patch. I think it’s clear at this point that most people would prefer the mesh modifier approach to armatures. I’ll be going back to that approach and looking at adding a “create-armature” operator to aid in posing the mesh modifier output.

Not sure when the next update will be, my car broke down yesterday so that’ll be my focus for a few days :)

Lastly, please permit me to lecture briefly on some commenting issues:

  • Code doesn’t disappear just because we try something different. Some folks made it sound like I destroyed the skin modifier code in a shredder in order to make the armature-skinning code. Not so much.
  • Negative feedback is great, but it needs to be specific to be useful. Saying anything along the lines of “it is useless” really needs to be “it is useless [to me] because of X, Y, and Z.”
  • Resist the temptation to use hyperbole, caps-lock, or exclamation points. Do embrace whitespace and punctuation.

And thanks once more to everyone for taking the time to test this code out. :)

Update: Rebased skin modifier against latest trunk, pushed new branch to blender-bishop on github.

Armature skinning

In addition to the partial visibility and masking tools I’ve been posting about, the skin modifier is another target I’m working on under the Blender development fund.

I’m looking at taking it in a slightly different direction than its previous incarnation as a mesh modifier. First, have a look at this demonstration video. (I know, you are all wowed by the amazing modeling going on there…)
Continue reading Armature skinning

New Blender repository on Github

I’m going to start pushing WIP code to a public repository again. This will replace my recent habit of posting unified diffs and tarballs of git patches here; it also differs from my former use of Gitorious in that the branches will be updated with rebase rather than merging.

The new repository is located here:
Continue reading New Blender repository on Github

Clay strips

The clay strips brush coded by Jason Wilkins is enabled in trunk now.

The default .blend hasn’t been updated yet, so you’ll need to create a new brush and change its tool to “Clay strips”. Note that the tool property is now in the Brush menu rather than the toolbar.

Unlike the other brushes, the clay strips brush uses a cube test to define its area of influence (as opposed to a sphere.) The brush curve still behaves normally, so you can choose between a full cubic effect or a softer look that blends better. In the image above, the three embedded cubes were drawn with a flat brush curve and anchored stroke mode; the rest uses spacing stroke with various brush curves.