Tag Archives: maya

Plutarch’s Debut is Nigh

workbench

Plutarch 1.0 is scheduled to make his party debut two days hence at J’s Halloween 2016 bash. The active duration of the party is roughly four hours. Here are my goals for Plutarch 1.0 during that time:

  • he must not fall off my shoulder
  • his head must remain attached to his body

Spontaneous decapitation has been a serious issue for this bird. His good-enough-for-prototyping attachment system might not be ready for primetime. We’ll see.

Whether his electronics work for the frightful fiesta’s duration is almost secondary.

While I celebrate the success of Plutarch 1.0’s ahead of schedule completion, I’m excited to get his successor out of the prototyping stage.

Here’s what Plutarch 2.0 looks like as of Halloween 2016. Keep in mind his deadline is 368 days in the future:

p2point0

He’s a discombobulated mess. But he’s much improved over his predecessor:

  • got 3D printed bevel gears working
  • added avoicebox with categorized, individually addressable sound calls
  • wrote a Maya-to-Arduino animation translator for the jaw movement
  • wrote a file processor that handles the WTV020SD-16P’s wonky-ass file format
  • amplified Plutarch’s speaker so he can be heard over party din
  • made a 3D printed chassis that’s modular and easy to assemble/disassemble
  • added multiple microphone inputs so that he can turn toward the loudest sound in the room
  • replaced soldered joints with connectors

Plutarch’s jaw opens and closes in sync with his sound calls. He’s got reliable, if shaky, 3-axis head movement. All of these systems mostly work, at least in isolation.

I just have to put everything together into a single, functional organism, at which point I can start working on the final challenge: his animation decision trees. Plutarch 2.0’s almost there and I’ve learned a tremendous amount about electronics and robotics over the last few months.

Unfortunately, I’ve just run into a couple of walls.

too many wires

Too many wires. Not enough space inside the body cavity for Plutarch’s y-axis servo to rotate freely. Voltage mismatch between the Pro Trinket and the voicebox and no room to cram a regulator in there.

Working in this cramped space is difficult (especially with a splinted pinky), and the microcontroller’s going to have to move to a more accessible spot. The 90° connections between Plutarch’s control wires and the microcontroller are eating up way too much servo rotation room.

Complexity could be conserved by tying a couple of grounds together. Connections could be used with higher-gauge wire. Options exist, but we’re gonna need a hogshead of brain juice over the next few weeks to figure all this out. And cash. Cold, hard cash.

It pains me to buy a $13 part to fix a problem I might have forseen but when one considers that $13 is an average morning at Starbucks for some folks, the bad feels wither away. Also I take comfort in the fact that I really have no idea what I’m doing so expectations really shouldn’t be that high in the first place.

A year remains before Plutarch 2.0’s unveiling. Still much to learn.

Complicated Selections in Maya

Sometimes geometry comes into Maya with difficult tessellation; the original designer might have never intended the model to be edited in the first place, or, more likely, was a lunatic.

Take, for example, this knurled surface by aubenc (not a lunatic, AFAIK) on Thingiverse. All those edges on the top surface N-gon trace to a single vertex. Performing an extrude on that top surface is going to get messy and difficult to deal with down the road.

ugly

So, how to delete that collection of edges and replace with a nice clean N-gon?

There’s always the brute force solution, hand-selecting each edge by picking them with the selection tool. This’ll work, but it’s tedious and one always runs the risk of accidentally selecting an edge somewhere else on the model.

I can’t count the number of times a stray edge got accidentally beveled because I selected it this way.

Sometimes it’s possible to switch to an orthographic view, drag-select all the edges on a face from the side, and then CTRL-select the edges you dont want from the other side.

select side A

deselect side

This technique will work with a model that’s oriented nicely along the X and Z axes like this knurled cylinder, but what if you can’t get a clean orthographic selection? Like in this (admittedly fabricated for the purposes of this blog post) case? There are no guarantees that a model you find out there in the wild is going to be well-positioned by the time you get to it.

bad orient

Here’s where Maya’s selection conversion tools become astoundingly useful. First, switch to perspecive view and hit F9. This will put you into component selection mode. Select the single vertex that is common to all the edges you want to delete.

single vert

Hold down the CTRL key and then hit F11. This will convert your vertex selection to faces. (CTRL-F10 will convert to edges, by the way.)

Right click and use the contextual menu to switch to face selection.

context

Hold down CTRL again and unpick the faces that you don’t want in your selection.

faces selected

Then delete the unwanted faces.

border edge

With most models, Polygon-> Fill Hole will give you a nice, clean N-gon if you select a border edge before applying it.

clean

With some fiddling and fuddling and boolean magic, Aubenc’s model became the base for the thumbscrews in Zheng’s GoPro Gubbinses.

Zheng’s GoPro Gubbinses

(Free download, it’s in The Forge, support Open Source design by throwing me a bone yadda yadda yadda.)

Dungeon Blocks, enGIFfened!

So! Earlier this week Dungeon Blocks was launched. The Kickstarter’s doing well– as of today we’re 40% funded!

dungeon blocks16-9

Dungeon Blocks are 3D printable alphabet blocks emblazoned with fantasy creatures and dungeon scenery. Here’s the linky if you’d like to throw it a bone or two: http://kck.st/1FNEFwP

The plan is to illustrate 26-odd fantasy tropes and then 3d model them onto the blocks. We’ve got a proof-of-concept D is for Direwolf block, as well as a bunch of scenery like dungeon walls, doors, and staircases. Take a look at the Kickstarter page to see some concept art for scenery that’ll be in the final version.

Despair not, ye without access to 3D printers; there be fantasy critter coloring book backer rewards too!

This time around we’re crowdsourcing the creativity, too: if the project’s funded I’ll be setting up a forum here at Zheng3.com where backers can hash out exactly which fantasy tropes they’d like to see featured on the blocks. We’ve already got some heavy hitters from the 3D printing community as backers and I’m really looking forward to seeing the ideas they come up with.

You, yes, you can get in on the action and be part of the creative process by backing at the PARTY MEMBER level. If you just want to help support Open Source design (and receive a PDF coloring tome to boot) become a FRIENDLY NPC instead.

Usually at this point in the blog post I go into a behind-the-scenes-how’d-he-do-dat 3d modeling riff, but by Jove I’ve been writing/coding a lot lately and just need to flex some different tendons for a bit.

Here’s a GIF instead.

dungeon block

Building Rome in a Day for a Kickstarter video

There’s a Kickstarter statistic that says you’re something like 50% more likely to get funded if you’ve got a movie attached to your project. Currently we’re at about 14% funding for Faire Play 2 in less that a week, which is a nice start.

Here’s our movie, and after you’ve watched it head down below the embed to see a little behind the scenes movie magic.

If you haven’t backed, pop over to Kickstarter and drop a couple bucks on the project. Let’s see if we can’t get to 20% by the end of the day. Share the following link with friends and family on Facebook and Twitter, too! That helps a lot. http://kck.st/1FQ7FZf

Thanks. And now onto the show.

Fun, right? Here’s how Emperor Sparky’s world is done IRL. The title of the post is a little misleading– it takes days— plural– to make a video like this. Weeks, really.

We’re not even talking audio editing, which be a whole ‘nother can o’ worms.

The short answer to “how’d he do that” is Photoshop. Lots and lots of Photoshop. Zheng Labs kicks it old-school with Photoshop CS2, the last version of Photoshop that runs on our 32-bit Mac Pro tower. (hence the Kickstarter– more operating capital==better equipment and software to crank out fun projects like this more quickly.) I’m shooting almost everything with a battered old Canon G11, except for a few quickies I take with an iPhone here and there.

And cardboard. Lots of cardboard and a matte knife. No laser cutting here, not yet anyway.

The first step is to make and paint the most important part of the set, Sparky’s balcony. I’d been saving paper towel tubes for use as columns for months.

This piece of the set is mostly made from spray paint, old Amazon Prime boxes, masking tape, and crayons. One can accomplish a lot with these simple tools if one drinks a lot of cheap coffee and mainlines Science Friday podcasts in the basement at 4:30 AM on Saturday before anybody else in the house is awake to bother you.

001

It’s all set up on my workbench down in the basement. Sparky’s stuck into the scene for reference purposes only– he doesn’t show up in the final shot.

Next, I start duplicating pieces of the background arches to hide the basement in the background. Sparky disappears behind a piece of background created straight-on in another shot and deformed to match the perspective of the arch behind him. Apparently I wasn’t happy with that blue pennon on the right sticking out, because I replaced it with a duplicate of the pennon on the left.

003

Continue to fill in background pieces here and there, making sure there aren’t any gaps and the perspective and lighting more or less match.

004

My basement is slowly disappearing as I copy and paste pieces of virtual cardboard into the background. All throughout this process I’m making little tweaks with Photoshop’s cloning and healing brushes too. Also dodging and burning as appropriate and redrawing crayon lines where needed in an attempt to keep the artwork as organic as I can.

Faking shadows is really important, too. Lots of fake shadows with a bit of Gaussian blur on them help pieces of the set pop visually.

005

Here we’re finished adding background and a blue sky, which definitely doesn’t exist in my basement. Adjust the final lighting and paste in the LEGO gladiator. He’s a foreground element so he’s shot in a lightbox, isolated with Photoshop’s extraction tools, and then pasted in.

006

Aesthetics are far more important than reality in a venture like this, so darkening the archways was an important step towards achieving a pleasing image. As a final flourish, hand-draw the laurels on the red pennon with one of Photoshop’s custom brushes to simulate crayon.

So that’s basically how the inside of the cardboard Colosseum was made; repeat that basic process for about 47 more shots and you’ve got yourself a video, buster.

The establishing wide shot of the Colosseum is another matter entirely. It’s not so much Photoshop as Autodesk Maya. First, a background plate so I can get the perspective close enough.

standin

I’m using the Lincoln Logs can as a stand-in for the final Colosseum.

Photoshop’s warping and lighting tools leave something to be desired, so for this shot I created a rough 3D model in Maya and then mapped the cardboard textures onto it.

wireframe

The 3D model is just a little too perfect (and stable-looking) when it’s rendered out, so the Maya image gets pulled into Photoshop again for tweaking, slicing, and dicing. I blow out the saturation and move some background and foreground elements around, too. Note the addition of a d20 in the foreground. I loves me some gratuitous icosohedrons.

That electrical outlet isn’t there in real life, either; I added it to improve the final composition and set the scale of the scene in the viewer’s mind.

opening

Thanks for reading this far! If you haven’t already done so, please back the Faire Play 2 Kickstarter. With your help, I’ll be able to take the budget for the next Kickstarter video well into double digits.

D’Oh! Almost forgot to mention! Those capitals and plinths on the paper towel tubes that turn them into Ionic columns? They’re available for free download right here. They’re printed in Filabot’s Carbon Fiber ABS, which makes them nigh indestructible and probably overkill for an application like this, but then again I’m a belt-and-suspenders sort of hominid.

Also, Coco says hi.

column

Meow!

Appleton Maker Fest

Appleton, Wisconsin is the nicest little city you’ve never heard of. Along with low crime rates and a thriving local music scene, it’s home to Lawrence University, a Harry Houdini museum with an interactive straightjacket exhibit, and the first Edison hydroelectric plant in the United States. Last weekend the Appleton Maker Space hosted their first Maker Fest.

makerfest

The Appleton Maker Space is tucked back in a mostly-underutilized commercial space off the west end of Appleton’s main drag, just the kind of location where you’d expect a hackerspace to be gestating.

Bonus: AMS is right across the street from some of the finest deep-dish pizza in town.*

Pizza wasn’t needed this day because, being that this is Wisconsin, the Appleton Maker Space provided a bratwurst concession for peckish attendees.

Our coastal and international readers should be aware that no event in Wisconsin can be held without at least thirty pounds of bratwurst in attendance. Pretty sure it’s in the state constitution.

The space was packed with dedicated Makers– I’ll leave it to their website to point out all the cool hardware they’ve got over there. Here’s one corner of the event, complete with the obligatory LAN party of kids playing Minecraft.

makerspace

Amid the chaos one usually associates with a makerspace’s being open to the chaos, someone was personalizing a banana for a younger attendee by etching her name into the skin. Of all the projects I’ve ever envisoned for a laser cutter, this’d be about the last one I’d ever come up with. Fantastic idea. I’d totally personalize all my bananas if we had a laser cutter at Zheng Labs.

banana

Show and tell time arrived and the assembled crowd asked for an “ominous puffy doll” to be modeled and printed on one of the RepRaps. I already had the laptop out so I fired up Maya and made this little guy. Concept to execution in ten minutes.

first pass

Later on I buffed out some of the stray vertices and cut a hole in the back so that Ominous Puffy can stick to your fridge with the addition of a neodymium magnet.

ominous puffy

You can download Ominous Puffy from his page in The Forge.

Heads up, badgers. I’ll be blogging, tweeting, and instagramming the ever-living snot out of Maker Faire Milwaukee in a couple of weeks, so if you’d like to meet up IRL and geek out over filament diameters drop me a line.

* deep dish isn’t pizza. New York style is pizza. Bring it, haters.

B-(A+C): Booleans and We The Builders

3D printing luminary Todd Blatt is of late heading up his second bit of crowdsourced Americana with his We The Builders project, Ben Franklinstein.

I missed out on the first pass at this with George Crowdsourcington, and since Todd overtipped our server for his share of Korean Barbecue the last time we met IRL, jumping in to help out with Ben Franklinstein seemed like The Right Thing To Do.

Here’s how this works. Everyone who wants to be involved downloads a piece of a scanned Ben Franklin bust. We print it, scrawl the piece’s coordinates on an inward-facing side, and ship it to Todd and others who assemble all the pieces somewhere in Baltimore.

The result’s a nifty pastiche of plastics in the form of a Founder. A quilt of quadrilaterals, if you will. Here’s what George Crowdsourcington looks like, all assembled.

I’ve printed two blocks for the latest project. My gold block is plain Jane, but I decided to do a little shenmeshenme on the blue one.

blocks

The first order of business was carving out a hollow inside the block. One’s first thought is to make a perfectly cubical void, but that’ll cause the roof to sag when printed on an FDM printer. So a peaked void it is, tapering to a single vertex at the top.

cut

Maya models surfaces, not solids, so subtracting the void (A) from the main geometry (B) isn’t a valid operation; B minus A equals B in this case. Printing B will get you a solid block, which is not what We The Builders want in this case.

The solution is to model a thin snorkel (C) connecting the void to the outside. This snorkel is mathematically legit, but too small for the printer’s resolution. The end result will be a printable void with no visible snorkel. We’re doing B-(A+C) here. Woo! Booleans.

You can grab the model here if you’d like to inspect this snorkel for your own mean self.

Midway through the print we do the old pause-the-print-and-drop-an-object-in-the-void trick, in this case a golden zheng. You can’t see the zheng from the outside of the printed model, but it does rattle a bit.

zheng

And then it’s a simple matter of finishing the print, boxing it up, and shipping it off to Todd and company.

The crowdsourcing phase of We the Builders is scheduled to wrap up in mid-September, and they’ve still got a few blocks to go. It’s free and a lot of fun, so go ahead and add your 3D printed stamp to this creative endeavor.

Ars Longa, Vita Brevis

My maternal grandfather was a painter. Not by trade but by passion; by day he designed lingerie patterns in The City and by night he retreated to his Bronx basement to exorcise his demons with oils and canvas. Or so my narrative of his life goes, cobbled together from snippets told by his wife and children.

Grandpa Joe died of cancer when I was six, so I never had the opportunity to know him well. My strongest memories of him are of the kind man who walked us to the corner candy store on every visit, and of the dried soil in the flowerpot next to his sickbed, dappled with orange seeds.

The smell of cigar smoke still conjures hazy, pleasant images of his presence.

To this day you can’t attend a family gathering without seeing one of Grandpa Joe’s paintings. Every uncle and aunt had (and still has) at least one of his pieces, every one a silent witness to history, now thoroughly infused with lasagna fumes and family drama. Some have even filtered down to grown grandchildren; we have one proudly displayed in an honored spot in my house.

One of his grandest works hung in our home throughout my upbringing. It’s a huge painting by a six-year-old’s standards, and still looms larger in my mind than it actually is. He painted this in 1946, in a world still reeling from war.

1946

There are two distinct sides in this conflict; left and right are rendered differently in style and tone. Panicked innocents flee from the blast of a fantastic sunset in the center. Michelangelo’s God touches no Adam here and instead judges from the middle of the battle.

Staring down from the family room wall, this painting spoke to me like Sauron’s Eye to Frodo.

“I see you,” it rasped.

I’ve felt this painting’s pull all my life. If computers hadn’t caught on in the 80’s I’d have eventually made a living airbrushing heavy metal scenes on vans. But despite years of 10 PRINT "HELLO", the notion that I could be an artist myself had already been planted in my head by Grandpa Joe’s work.

Grandpa excelled at painting details. Look at the capitals of the columns on either side of the painting and you’ll see delicate details and almost-arabesques. These are exactly the kind of decorative motifs I’d like to include in the Faire Play parade armor. Another painting has an appropriate flourish I’d like to include as an homage to my precursor, so I’ll burgle from this:

1967

My guess is that this is a depiction of the Virgin Mary appearing to my uncle and mother as children. I don’t think this is a rendering of an actual event, because you can bet your britches if Mom had witnessed a Marian apparition we’d have heard about it every Thanksgiving for the last 40 years.

Here’s the detail that I’d like to use as a recurring motif, from the lower left of the painting.

flourish sample

My old workflow for this involved tracing the flourish in Illustrator, importing the EPS, creating a planar trim and then tessellating to produce a polygon model. That’s the quick and easy path, but ultimately that journey is beset by N-gons and nonmanifold geometry, difficult to seamlessly join to an existing model.

Instead I’ll bring the image into Maya and trace the outline with the combination of Create Polygon tools, edge extrusion, and vertex pulling. This helps me to keep a model that’s built exclusively out of quads; it’s much less likely to cause me problems later on when I boolean the many flourishes into the base cuirass mesh.

flourish grow

This is going to be a slow, but easy, process, so I sip my coffee, put in the earbuds and some Quirks and Quarks podcasts, and achieve Csíkszentmihályi’s flow as I work. Twenty minutes later I have this.

finished flourish

The translated flourish doesn’t fit the space in the armor exactly, so it needs a little lattice work to deform it to the space above the bird’s wing.

flourish molded

And finally some extrusion and mirroring and it’s ready to become part of the parade armor.

extruded and mirrored

I’ll be appropriating details from both of these paintings over the next few weeks while I decorate the Faire Play parade armor.

A note to my future grandchildren, yet unconceived, osmosing this post with retinal HUDs on the shores of Central Park: do not judge my low-resolution geometry too harshly, and please pilfer your ancestors’ work to better your own.

Also, thanks to Dad for photographing the paintings and sending them my way.