Tag Archives: maya

Hands on with Blokify

TL;DR Summary: If it’s not a federal crime to give away an app this fun for free, it should be.

We’ve been busy here at Zheng Labs since the turn of the new year. It’s a bit of an open secret among the 3Dprinting cognoscenti that I’ve got a 3d printing Kickstarter in the works; the duergar eat and sleep at the Forge these days, prototypes of prototypes are drafted and printed at a breakneck pace, and if the bellows withstand the strain and the flow of anthracite remains steady we should have something ready for public consumption in a month or two. Sooner, hopefully, rather than later.

Here’s a teaser image. #staytuned, #watchthisspace, and #allthatjazz.

teaser

But! It can’t all be long-term projects at Casa de Zheng, lest the six or seven malcontents who follow this blog lose interest and wander off into Mirkwood. So let me dig into an app I’ve been wanting to play with for a while: Blokify.

opening

Blokify is designed to make crafting 3D models kindergarten-easy. There’s only so many ways one can build with cubes, after all, so I see some Minecraft influence here, but the designers have eschewed the ultra-low-resolution aesthetic in favor of nicely-designed, toony blocks.

If you’d like to get Lao Zheng on a get-off-my-lawn rant, ask me how Minecraft’s (WASD && voxels) method of 3D modeling leaches poison into the young minds of the next generation of CAD UI designers. Thanks mucho, Notch.

The flowing river is a nice touch. The pleasant music puts me into a building mood.

Kid-level software needs to be crazy intuitive as far as I’m concerned, so I just jump right in to the app without reading any startup guides or watching tutorials. The first UI element I poke the cobblestone block in the upper right corner. This brings up a bunch of other blocks that I can use, but for now I think I’ll stick with basic stone.

blocks

I turn my attention to the gubbins in the lower left corner. It looks it might be a camera navigation tool, so maybe it’ll orbit the camera around building area. Turns out it does something else, to which I’ll return shortly. But I still have to figure out how to move my camera around before I can build anything of consequence.

I recall that I don’t live in 1995 anymore and I’m holding a device that responds to swipes and multitouch, and start doing that. Touch with one finger to pan the camera, multitouch to orbit. Pinch to zoom. Ok, now we got this.

Tap the helpfully-checkerboarded ground to place a block and it drops onto the field with a meaty thunk. Tap the top of the first block and a second attaches with a satisfying crunch. In a few seconds you’ve got a field full of stone blocks. Sometimes blocks fly in from the sides of the field, their origin determined by some algorithmic sorcery. The sound effects really make this app entertaining. CRUNCH! THUNK! SNAP! Every block addition creates a little puff of dust.

first build

I could do this all day.

The edges of the checkerboard and an invisible ceiling limit a build to 13x13x13 blocks. Some non-triskadekaphobic over at Blokify likes primes, apparently.

Touch and hold a block for a bit and one can swipe to make a row or column. Swiping blocks into existence is fun and clicky-clacky.

horizontal

Touch and hold a little longer and the block crumbles into nothingness.

The circle in the lower left corner turns out to be an undo queue. Scrub counterclockwise and watch your model undo itself in time, then scrub clockwise to restore it.

The medieval themed blocks I’m working with naturally remind me of Seej bloxen. So I’ll make one of those.

A Seej bloxen is roughly 5x3x3cm. If I assume each Blokify block is 1cm, I’ll have to make a double-scale bloxen to get enough resolution to make the mortises underneath. Scaling the bloxen down later is trivial.

But first a few thoughts on the building process. It’s very easy to just tap tap tap the bloxen into existence, although here and there I have a bit of trouble hitting the hotspots on the sides of blocks when I need to make an overhang. It’s easier (and more fun) to sketch out my empty volume with a few wooden support blocks, and then destroy them later.

bloxen supports

I want this Blokify bloxen to be backwards-compatible with existing Seej bloxen, which means the tenons on top need to be aligned down the x-axis. Unfortunately there’s no way to put a Blokify block halfway between two others, so centered tenons are impossible with a 6-block wide bloxen.

blocks

I was looking for an opportunity to bring the model into Maya anyway, so I’ll do my vertex surgery there.

The export is two taps away through an email attachment, and it’s on my desktop in a few seconds. Well played, Blokify.

For most folks, this is where the creation ends and the printing begins, but I’ve got some edits to make and I’d like to poke around the polygons for a bit.

Here’s my first surprise; the textures on the blocks are actual geometry! The stones here are bumped out a bit and tile nicely.

into maya

The second surprise is a little less exciting: the are some long, thin, nasty-looking polygons at the junctions between blocks. Polys like these make editing a model difficult. Down this path lie non-manifold geometry and madness, so approaching these goblins with a keen eye and a keener blade is in order.

In my humble assessment Blokify doesn’t deserve to have this feature held against it, though; the subset of users who are going to edit these models in a third-party application has got to be vanishingly small. In-app editing is perfectly cromulent.

I’m able to delete the top faces of the bloxen, align the tenons down the midline, and sew the patient back up without any trouble.

The print proceeds without incident, and I’m staring at a new bloxen. Five minutes from first launch to the start of printing. Nice. For those poor souls without access to a 3D printer there’s a Shapeways export option.

Here it is, printed on my Replicator 1 with this Blue PLA.

Bloxen, Blokify

downloadTo sum up: I really like this app. It’s easy, really easy to make kid-friendly models and get them onto a printer. There’s a more-than-adequate library of free block types built into the app, and premium content’s just an AppleID password away. (Blokify lets you purchase “diamonds” for spending in-game on new blocks and environments.)

Two features I’d like to see:

1. Explosives. If the proclivities of the younger Zhengspawn are any indicator, the ability to make a design go kablooie when I’m done with it would be a huge hit with the under-10 set.
2. A bevel feature. The final print’s edges are a little sharp. Not so much a problem for me, but little hands might find the corners undesirable.

Blokify’s available on The App Store, natch.

Happy building!

Getting Lost in the Thicket

Bloxen, Bramble

You can download the .STL file for this model fo’ free, fo’ realz, from The Forge, along with many other Creative Commons-licensed designs. Just head to the Seej fortifications section and start clicking like a dolphin on meth. Knock your mean self out, hoss.

I’ve been doing a lot of simple models lately, like ye olde Semi-Formal Pocket Gear Train or the Bonsai Gibbon. These models are big on concept but easy on execution.

A few weeks ago I cranked out a floral Seej bloxen. Bumping out geometry to make vines is easy and fun, and got me started down another path I’ve been waiting to tread for quite some time.

I’d been feeling the need for an art challenge. How complicated of a model can I make with the tools I have available? Can I keep an excruciatingly complex mesh manifold and, importantly, printable on a Replicator1?

I feel like the tone of press coverage for 3D printing has recently shifted from “gee whiz” to “now what?” My Replicator1, as amazing a machine as it still objectively is by the standards of human technological progress, is beginning to feel dated.

The most complicated model I’ve released so far is the Barrow bloxen, but that thing’s a big honking mess of intersecting faces. It’ll print, but at the mathematical level it’s inelegant and causes me to feel an emotion somewhere between embarrassment and disdain.

I’ve been wanting to create a woodland player race for Seej, and a thicket seems like the kind of thing dryads might use to keep attackers out. So I’ll start fresh and create a tangle of vertices and faces, vine by vine, making sure the mesh remains manifold and printable as I go.

The first step is to start with a template bloxen and freehand draw a base for the model.

bloxen template

Then extrude the base, bevel the edges, and subdivide the mesh to get some sculptable vertices for the next step. Beveling the edges can introduce non-manifold geometry if one isn’t careful, so it’s important to visually inspect the tighter corners of the bevels to make sure edges aren’t accidentally intersecting before subdividing the mesh.

subdivide base

After a little bit of sculpting with Maya’s sculpt geometry tool to make the base a little bumpy, it’s a simple matter to punch out the bloxen’s mortises with a pair of cubes. If I’m careful with the placement of vines later on, this bloxen will stack handily with existing designs.

punch mortises

I’ve got digital skulls all over my hard drive: occupational hazard. Everything’s Better With Skulls, so I’ll add a little bit of art detail here. In hindsight I should have waited to add the rocks until later in the project because their extra geometry interfered with attaching some of the vines to the base.

rocks and skull

The process for adding vines is in theory simple, but in practice increasingly difficult as the thicket gets more dense:

  • draw a NURBS curve
  • extrude a polygon along its length with a twist and a taper
  • add some variation with the sculpt polygon tool
  • smooth the mesh
  • join the vine to the base, other vines, and neighboring geometry

I like to color different elements while I’m working so I can tell what I’ve worked on and what remains to be done. So I draw a gear-like profile for the first vine and extrude it a bit. Once the vine is smoothed those gear teeth will look like gnarly roots.

vine base extruded

I don’t need all the extra geometry created by the gear teeth so I merge some of the vertices to turn my profile poly into an octagon, and then extrude it along a twisty curve.

first vine

I want to rough out the major volumes before I get too tangled up in vines, so I add a squirrel. Everything’s Better With Squirrels.

I’m just going to take a moment to reflect on the fact that due to good planning I have a relatively simple way to add poseable squirrels to just about any model.

pose squirrel

Kestenbaum the squirrel needs a vine to grip, so back to the NURBS curves it is to create a suitably convoluted path.

path for vine

I’ll integrate Kestenbaum’s haunches with the skull’s parietal bones later, off-camera.

Every now and then a vine is going to branch off from the main trunk. The process is similar to extruding along a polygon along a path except I like to cut a hole in the main trunk first, round it off, and then extrude.

branch hole
branch extrude

After much lathering, rinsing, and repeating I’m convinced the workflow I’ve got is mostly sound and maintains a manifold mesh. The viny bloxen is beginning to take shape.

keeping track

I add vine after vine after vine over the next few days, and then get a little bored and decide to add something more interesting. A cylinder helps me block out where a bird’s nest is going to sit.

nest cylinder

And after a little subdividing and sculpting the nest is ready to go in. It needs a few little vines to keep it supported inside the bramble, and of course it wouldn’t be much of a 3d nest without some elongated spheres for eggs.

sculpted nest

Jumping ahead in time a bit, here’s a top-down view of the print before manual cleanup, showing the eggs in situ.

eggs

And then I’m back to meticulously adding vines a few at a time and running test prints to make sure the model’s as self-supporting as it can be. After a few weeks of working, an hour here, an hour there, I’m ready to begin adding thorns to the vines.

Moving all those thorns into place by hand (I think there are somewhere around 350 of them) would be way too time consuming, so I settle for a hybrid manual/scripting approach.

I manually go through the mesh and identify the polygon faces where I think a vine needs a thorn, and then write a short MEL script that constrains an instance of the thorn to those worldspace coordinates and then locks the thorn’s y-axis to the average of the faces’ surface normals. It sounds more complicated than it is.

add thorns

Sometimes the surface normal average doesn’t make perfect sense for the thorn’s orientation, so there’s a little bit of manual tweaking for a good 30% of the thorns.

I’m running test prints every few days throughout this process, just to make sure the model was mostly self-supporting. Chances are I missed one or two overhangs, but the density of the vines is such that stray filament strands actually add to the look for the final print.

The almost-final mesh is looking quite gnarly.

final

Because I am a homonin of questionable morels, I add a few mushrooms hidden inside the bramble so that others can experience the joy of finding them. These 3d fungi are far more detailed than they need to be at this resolution, but I’m planning to make a Dryad battle flag in the same style later so my small extra investment in time won’t be wasted.

xray shroom

The mesh has dozens of tiny holes created by Maya’s boolean operations, mostly at junctions between vines. I fix these when I find them but allow netfabb to do the cleanup on most of them.

holes

I could keep adding detail to this model forever, but in practice the mesh is getting too unwieldy to work with. Sometimes it’s like working inside an actual thicket, with vines obscuring my view and 3d thorns scratching up against my camera lens.

Here’s a final print at 200% scale to bring out the details:

bramble 03

Whew. Glad this one’s finished. Time to move on.

A Little Relief

floral

download

Last week I came downstairs to find the elder Zhengspawn had gotten into my box of acrylics and was busily painting one of the myriad bloxen that lurk in the crevices of Casa de Zheng. The original was printed in clear PLA on my Printrbot Simple; I think this is a nice improvement.

painted

I thought it’d be fun to give her paint job a little relief and re-release it as a new bloxen.

The first step in the process is getting the real-world paint onto the 3d model. The easiest way I can think of to do this is to photograph the painted block and then texture map the model.

It occurs to me that I could also have used Autodesk’s 123dCatch to capture the surface of the bloxen, but Lao Zheng is old school, or what passes for old school in the 3d modeling world, and dislikes giving tessellation tasks over to the Cloud.

So photographs it is, just five of them since I’m not doing anything to the bottom of the model; one snapshot for each of the four sides, and one photograph for the top.

Next, I’ll take a basic bloxen and set up a UV map.

UV coordinates on a polygonal model are roughly analogous to latitude and longitude on a globe; they tell the paint where to go on the model’s surface. The first step in assigning UV’s is to unwrap the model’s surface and lay it out on a grid. There are automated processes for this in many applications, but with a model this simple it’s probably easiest and most intuitive to do it by hand.

block uv

And here’s the bloxen with a loose texture map on it. I’m not going to worry about the underside of the model for this project because ultimately it’s destined for 3d printing and the bottom needs to be smooth so it’ll stick to the print bed. Some of my textures are out of focus and distorted and I didn’t bother to texture the sides of the tenons, but I’m just using the painting as a rough guide anyway.

bloxen textured

You can download the UV’d model if you’d like to mess around with it yourself. Converting to STL wipes out UVs so the model’s in OBJ format. Enjoy.

The next step is to subdivide the mesh many, many times so that Maya’s paintbrush tools have some vertices to work with.

subdivided

Most of the setup is done and now there’s a fun few minutes of using Maya’s Sculpt Geometry tool to bump out the vines. (Flowers will come later)

unforeseen problem After a bit of painting I find some WTFfery going on amidships, so this requires a step away from creativity and into the realm of Just Fixing Things. It looks like there is a line of extra small polygons in there, probably created by the subdividing script I’m using. They’ve gotta go, and sometimes the best way to fix things is to Just Delete Them.

wtf

The process destroys my nice quad-only mesh but I’ve been to enough rodeos to know that this probably isn’t going to sink the model later. Moving on, I make a bunch of little flowers, rotate them randomly, and stick them onto the surface of the bloxen.

add flowers

The flowers are very simple models so booleaning them to the bloxen is easy, except for the one flower that rounds a top corner. This one needs to be bent a little bit before it can be added.

deform flower

After adding the mortises on the bottom of the bloxen, merging all the stray vertices, and checking the model in netFabb to make sure it’s manifold it goes to print. No problems whatsoever, which is strangely disappointing since my 3dprinting failures Pinterest board hasn’t been updated in a while.

Ever since I replaced my delrin plungers with an extruder upgrade and switched to a BB ball-bearing based filament spool my MakerBot’s been rock solid.

This little project got me thinking in new directions, so #staytuned for an update sometime in the next few weeks.

MTG Zombie Token Preview

zed_screencap

This pose struck me while I was orbiting my camera. This guy will be ready in a couple of days. #staytuned.

You can watch his development in the Scrying Pool, over to the right. If you catch me working (usually early mornings EST) you can watch the screencaps accumulate in quasi-realtime.

Leaping Rat Fail

I’m working on a pack of rats, five or six different poses all based off my Magic: The Gathering Rat Token. There’s only so many ways you can pose a rodent before they start looking the same, so I thought I’d try something more epic in my latest rat.


rat fail

This little fella hasn’t gotten past the low-resolution test print stage on my Replicator yet. His only points of attachment to his base are the tip of his tail and his feet, which form fulcrums for the rest of his body. Invariably around 40% of the way through the print, right at the hips, the stress of being wiggled by the extruder head detaches part of the model.

I’ve tried all kinds of wily 3d printing tricks, slowing down the extruders, increasing the number of shells, etc.

I have a gallery of Lovecraftian rats-but-not-rats in the scrap bucket. Here’s what he should look like.


leaping rat

I might give it one more go with slightly thicker legs that are less likely to break off. Stay tuned.

You can download the model here and give it a shot yourself. It’s not Forge-worthy until it can be verifiably printed. This looks like a job for a non-FDM machine like the mUVE 1, Form1, or b9Creator. Have at it, bots.

A Veritable Smorgasbord of Rats

Paul Lynde as Templeton the rat in what is perhaps the greatest example of voice casting, ever, in the history of ever.

Careful watchers of the Scrying Pool will note that I’m taking a brief hiatus from working on the Drake token. I felt the need to crank out another model quickly, so I’m switching to an MTG Rat Token for a while. We’re about 75% done with the model here.

I have models for several Squirrel tokens in the Forge, so it’s not a huge step to do an evolutionary K-turn and go from Scuridae to Murinae.

MTG Rat Preview

The big difference between the rat and squirrel models is that I can open the rat’s mouth and arbitrarily pose him. The squirrels are limited to sitting on their haunches, mouths closed.

So that’s your basic rat. Whoopledy-doopelty. He’s really not worthy of the title MTG Rat Token yet; needs some scabies, matted fur, and maybe some open sores.

I’m planning to do some work with pose and surface textures to try to make this guy a little creepier. Scaly tail and some sharp fur tufts will help alot. Then I can go down the plague rat avenue, and hot diggety, I could make a rat swarm model. This could be a veritable smorgasboard of rats.

Stay tuned for test prints and the inevitable rat fails.

The Long Arm and The Paw

This post is out of chronological order for building the Magic: The Gathering Drake token. I got a little excited by the progress I was making on the wings and forgot to post it a week ago.

Building a 3D hand is one of those things that looks really hard at first but really isn’t that big a deal once you’ve done two or three of them. This is a low-resolution fantasy model, so I’ve got some leeway in the anatomical accuracy. The most important modelling technique here is keeping the mesh as quads while dealing with the transition between the first knuckles and the metacarpals.

The day may come when I forsake quadrilaterals and take the easy path of willy-nilly geometry. BUT IT IS NOT THIS DAY!

MTG Drake Paw

The yellow octagon is a NURBS circle that’s more or less aligned with the lead face on the digit. I curve-snap the finger vertices to the circle to keep the digit mostly circular.

MTG Drake Paw

After all eight verts are snapped, I move the circle up to the next digit and repeat the process. I’ll still have to go back and clean up the edge stars between the fingers so that the hand deforms properly, but this is a good start for a hand.

MTG Drake Paw

For some reason I can’t get the refrain to “Becky From the Block” out of my head while I’m working on this. Hera, give me strength.