Tuesday, 9 July 2013

Birth of a new queen, part 3

Don't you hate when you're in the middle of making a new boss character and all this other stuff that doesn't involve making a boss suddenly comes up?

Last time I had the mesh in a good state, but it needs to have the UV's unwrapped, then rigged and skinned ready for animation. Eventually it'll need to be textured, but if I trust my UV's I can leave that for later. Right now not having the boss in game is holding up gameplay.

this part's a bit like designing papercraft, just without the big parties and glamorous lifestyle

The queen consists of two sections, her dress (which is made up of 13 identical strands) and her upper body. I hate unwrapping, so I often use a cool program called Roadkill UV Tool to get me started. It's a pelt mapper I find easy to use.

this part's a bit like putting decals on models, just without the big parties and glamorous lifestyle

Bringing it back into MAX, I rearrange my sheet and straighten up some lines then block in some basic shapes to make sure things are where I think they are. The upper body is a normal character, the bit I'm less confident about is rigging the dress in a way that will let me get a good performance out of it, I'll use a spline IK and control th- wait... How big is this character right now?

the third image of this set was supposed to be Embryo compared to the largest known star, to make you feel insignificant and willing to share it on Facebook

Oh. Looks a bit small next to Cactus, but if I bring in Embryo for comparison... okay. Yeah that's not right. This is a really good time to rescale a character, since once a character is rigged it is very annoying to change it's size.

now they're all ready for their trip to the park

I ended up scaling her to about 250%, a bit taller than Embryo but lankier so her overall volume is smaller. Getting characters the right size before rigging them saves a lot of pain! Same with working in units that remain sensible when you export them to engine.

not pictured : about a thousand failed attempts to get this working

My plan was to use Spline IK to control the dress strands. I zeroed the rotations on one of the strands to put it back in 'sphere mode' and deleted the other segments. I set up a bone chain and created my source spline. I ended up having to add a non rotating helper between the bone chain and it's parent to prevent the chain from flipping out when it's parent rotates it, but in the end it worked and I had a Spline IK attached to a parent that I could swing every which way without flips, I just had to duplicate it another 12 times!

Originally I tried to use an array, but ran into trouble, mostly with the copied Spline IK getting seriously confused as to which spline it was meant to be following. In the end, I got the best result from saving selected out to another file, then repeatedly merging it back into my file.

With the bones set up, I duplicated the mesh back into a sphere and repositioned the entire thing back into it's correct place on the model. At this point the mesh was still in two pieces so I hid the dress to concentrate on the torso.

My robot has no nose! How does she smell? Via a complicated series of sensors involving spectroscopy.

For the torso I'm using Biped because it's convenient and I'm used to animating with it. This is pretty standard, just fitting the skeleton to the proportions of the character, her arms are quite long and instead of having hands she has a single hand joint and one finger bone for the shear. I put the wrist pivots at the middle of the ball so her 'hands' can spin freely. Once I've got one arm done, I mirror paste it to the other side of the character, done!

She doesn't have any legs but Biped doesn't let me remove them. This isn't actually a problem though, I set up a Named Selection for exporting characters and animations, and will just leave out the leg bones. That way they'll never reach Unity.

For the mouth, I add some bones and parent them to the head. She has a simplified version of the approach I took for Cactus. The bones are designed to pivot (so they move on arcs) so the placement of the first bone is essential. I will be dragging the nubs around to position the expression. Normally I'd use more bones for the mouth but I know she won't be doing that much so six points should be okay. Its important to have upper and lower mouth corners though, it's important to a lot of shapes. The lower lip bones are parented to the jaw.

With all the bones selected, I set them not to Cast or Receive Shadows, disable their Renderable property and check on Display as Box. Just personal preference, but I find it lets me 'see' and work with the skeleton without it visually intruding or needing to switch to wireframe constantly.


With the skeleton in place and the dress positioned where I need it, I can finally Attach the mesh and this is a great point to take a breather and just drop the thing in game to see how it feels. This is the static mesh in game using the flat textures and the Enemy Boss shader. Already looking kind of imposing and regal, so we're off to a good start.

if I scrub the timeline back and forwards she does the YMCA dance

EE-I-EE-I-O!
Time for skin weighting. Robots tend to be easy in this regard, lots of hard surfaces and nothing that requires a lot of careful weighting. I'm not really into envelopes so I start setting vertexes directly. It's very useful to animate some basic ranges of motion before you start so you can scrub back and forth to see the result. The body was really simple, the most complicated part was the mouth.

My philosophy with skinning faces is to give everything as much influence as possible. Every motion of a human face tugs and pulls at other parts, so if you can add a sense of the face never being quite still just through the skinning, it's a good thing. Since it's just the lower part of the face, I'm pretty limited in this regard. Still, mouth shapes work pretty well.

I mirror the weighting across, weight each of the dress strand plates to the corresponding bone and we're done!

Foo-hoo-hoo-hoo-hoo-hoo-hoo!

I posed her and gave her a basic breathing cycle. At this point I can export her skeleton and animations to Unity properly and see her playing the animation in game. She's working pretty well! Her pruning shear hands can be held in front of her face like a fan or bent forwards like a praying mantis. Still, the one thing I want to verify is if the rig can handle turning her into a ball, so I do a quick animation of that and drop it in game.



Still rough but it proves the concept! I'm pretty confident this is going to scrub up well!


COMING UP NEXT POST : Animation and maybe even some gameplay!

No comments:

Post a Comment