Semi-Parametric Design in Blender, Part 2

Last night, I did some more work on my Living Bones model and I'm a lot happier with its new right pauldron:

In addition to just looking cleaner than the last one, this new pauldron is much more in line with my semi-parametric design philosophy.  Check out the geometry on that bad boy:
The straps were easy to make - I used the same technique that I did for the ribcage model, where I placed a loopcut cube and then adjusted the edges until the top face and the bottom face were in roughly the correct positions for the straps, then I deleted all of the other edges.  Next, I applied a Subdivision Surface modifier (turned up nice and high) to smooth out those lines, and then applied a Skin modifier to create the straps themselves (to get the second strap to work, I had to select one of its vertices and press the Mark Root button under the Skin modifier).  Then, with all of the vertices selected, I futzed around with the Mean Radius X and Mean Radius Y values (in the n data panel) until the skin looked appropriately strap like:
Once I had the straps looking nice and thick (which should make them print better), I moved the individual vertices around until there weren't any ribs clipping through the straps and until I was happy with the way that the straps were interacting with the pauldrons.

Speaking of the pauldrons, the new one (the Living Bones' right pauldron) was made very similarly to his left pauldron.  Once again, I made a plane, added a couple of loop cuts (so that it'd be in 4 parts), then extruded the two end edges to make the parts where the pauldron edges curl back upwards slightly.  Once again, I applied the Solidify modifier and the Subsurface Divide modifier to smooth it all out, but this time I played around with marking edges as Creases instead of applying a Bevel modifier:
I really like how the Crease edges worked out, particularly the ability to apply the Crease as a percentage to determine how sharply vs. smoothly I want that edge to be represented.  With the basic form of the pauldron worked out, it was time for me to figure out how I wanted to represent the spikes.

Last time, I made them by using a particle emitter, using the technique that Zacharias Reinhardt demonstrates in his video (#12 in that video), but I wasn't super happy with the results on this model.  So, I decided to try it again, but using the Skin and Subdiv modifiers that have been working so well for me.  I made another plane and deleted all edges except for one of them, which I rotated upwards.  I then applied the Skin and Subsurface Divide modifiers to my line, and adjusted the Radius X and Radius Y values for the top vertex so that it was very small, and the bottom vertex so that it was larger.  I made a basic tear-drop shaped spiky thing:
My next task was to make a bunch of these, arranged on the surface of the pauldron.  I played around a bit with the Array modifier, really hoping that I could make it work, but I just wasn't happy with the results.  Instead, I fell back on snap aligned duplicates as my best bet for making a bunch of these on the surface of the pauldron.  At the bottom of the work area, there's a row of buttons for controlling snap alignment:
That magnet icon on the left is how you turn it on or off, so turn it on.  The next icon over (the cube in this screenshot) is how you choose what the things will snap on to.  In this case, I selected Face because I wanted to snap these spikes onto the faces of my pauldron.  The next dropdown is what part of your object Blender is going to align to the face when you move your object onto it.  I wanted my spikes to be centered, so you can see that I chose Center from the options.  The last icon in this block is for toggling "align rotation with the snapping object".  I turned that on, so that each spike would be rotated so that it would stick straight up off of whatever face I put it on.

With that set up, I grabbed my spike (via the g key) and moved it over the pauldron... and it didn't work at all.  It was floating way up in the air and off to the side.  That's when I realized that my spike object's origin was way off (which is what Blender uses to determine where the center is), so I cancelled my grab and fixed my object origin.

First, I centered the origin on the object by pressing ctrl-alt-shift-c (yes, that's a real keyboard shortcut and yes, I use two hands to press it), then selecting Origin to Geometry.  That centered the object's origin in the middle of the object, which is almost what I wanted.  In this case, I wanted the object's origin to be centered on the X and Y axes, but to be slightly lower on the Z axis.  The easiest way to accomplish that was to go into edit mode, press a to select everything (all 2 of the vertices in this highly complex spike model), and slide it up a bit on the Z axis (effectively shifting the origin downwards in relation to my actual geometry).

With the object origin set up correctly, I was able to put my spike nicely onto the surface of the pauldron.  Then, I hit shift-d to duplicate that object, and set the duplicate up a little further along the pauldron.  I repeated that process until I felt that I had a sufficiency of spikes (I'm just happy that I got to use the phrase "sufficiency of spikes").  Once I was done and was happy with the placement of all the spikes, I got a clever idea.

This skeleton model that I'm making is rapidly shaping up to be a hodge-podge collection of many distinct objects.  This is really cool in the sense that each object is extremely simple and easy to manipulate, however it might get burdensome when I'm posing the larger skeleton.  For example, when I make the arms on this guy, I'm probably going to need to adjust the pauldrons in some way.  At the moment, that right pauldron is actually 7 objects - the armor and 6 spikes.  That means that any time I want to move it, I need to make sure that I have all of those objects selected.  In fact, since each of these things logically depend on the ribcage, when I move the ribcage I really want all of these things to move as well.  All of these things, in this case, is the ribcage + 10 other objects.  This was swiftly becoming a problem.

A problem with an easy solution!  Blender has the concept of parenting objects, which means that changes made to the parent (moving it around or rotating it or scaling it) are also made to the children.  So, I established a few parent relationships.  First, I selected my 6 spikes (via shift-clicking) and then selected their pauldron with another shift-click (the order is important).  Then, I pressed ctrl-p to open the parenting menu and, under "Set Parent To" I selected Object.  That made it so that whatever I might do to the pauldron, the spikes would follow it.  They're still separate objects and so I can still move the spikes around on the pauldron if I want to, but any time I move that pauldron, the spikes will also move to preserve their relative positions to the pauldron.

With the new spiky pauldron parenting resolved, I moved on to the ribcage as a whole.  I selected my pauldron, the straps, the other pauldron and the sternum (which is another separate object from the ribcage proper), then selected the ribcage and repeated the parenting process.  Tada!  Now, I can manipulate the whole ribcage and its accoutrements as a single logical unit, while still preserving their unique snowflake identities so that I can easily adjust them in the future.
That's it for today!  Maybe next time, I'll have a completed Living Bones model to show you... or maybe I'll have some other interesting bit of the model to talk about.  Either way, talk at you then!

P.S. As I was writing this post, I got to thinking that it might be interesting to reverse the order of my Solidify and Subdiv modifiers for the pauldrons (so that it would Solidify first, then subdivide the solid piece).  Check out the new pauldrons (after a bit more playing around with crease edges)!  There's no shortage of little tweaks here that can dramatically change your end result!
I've continued to work on this model, and continued to improve my ability to use Blender!  Continue reading Part 3 of my Semi-Parametric Design series, where I talk about the process of troubleshooting some of the non-manifold geometry that was causing problems when it came time to actually print the model!

Comments

Popular posts from this blog

How Much Filament Do I Have Left

Prusa MK3 Stringing at .05 mm Layer Height Resolved!

Using PrusaSlicer to Design Tree Supports for FDM Prints