Another quick dirty test. I didn't expect it to work so well, but wow, is it easy and cool to wrap a clothing object around a body geometry, or what? This example here is simply: 2 clothing objects, each of them wrapped around a smooth skinned body geometry. The smooth skinning is far from good, yet, the wrap looks much better. And it moves well, from pose to pose. It's not for animation, meaning it takes a second or more to update, so it's far from real time, but it works really well, so the animator doesn't need to worry about the deformations, like with smooth skinning. Just have a rigid geometry rig for animation, and have the cloth separate. Since it only takes a second to calculate, the animator can also see the wrapped cloth, if needed... So the plan now is: have a body geometry that I smooth skin, wrap shoes and simple/simulation-ready clothing elements to the body, turn cloth nCloth, use some inputMeshAttract to have nCloth follow the wrapped cloth, paint some cloth properties, just to have some more fun (like a wrinkle map, the input attract itself, etc), and then wrap the detailed (extruded mesh, pockets, etc) cloth to the simple cloth. One problem with this method could be - you can't smooth the body with something wrapped around it. But it's not a problem in my case, because before rendering I export every piece of geometry as a geometry cache, and I smooth that. Clean file, render-friendly, and you can even sculpt the cache a little if you want to correct stuff or customize the look of deformations here and there. There's another problem - if you don't like the wrap's behavior... not much to do in that case, I think. There's nothing to paint... you can tweak the wrap's overall properties and that's all folks... (But you can paint things turning the cloth nCloth, which can solve possible problems.) Now, having nCloth follow a smooth skinned mesh is slightly faster, no wrap, but you need to paint weights much more carefully. More work. On the other hand, if the nCloth doesn't follow the input mesh too much, or at all, there's no reason to do this whole wrap thing. On the, yet, other hand (lots of hands here), one can use the wrap alone for cool looking cartoony cloth. The image above is just a wrap, no nCloth. Finally, the really cool thing about this workflow (with cloth objects being separate from the rest of the rig) is that I can interchange sets of clothes easily. Same character, different clothes. No need to redo the rigs.
The following ramble is my own crap, so I can tell you already, I'm wrong (but not absolutely wrong...). Hehe. You know why? Because no one is absolutely right. Being wrong is what we do all day long. In fact, we are right :D In the limits of our own perception. Which is limited, so we're wrong all the time. There's always something beyond our perception and logic and knowledge, and it's that which makes us essentially wrong. There you go, my logic... is undeniable :D And essentially wrong :D I couldn't make anything more interesting unfortunately for his clothes... the older version has more detailed clothes, but they couldn't simulate exactly well. I could have used a wrap deformer and have a clean cloth-mesh drive the unclean render-mesh, but there were some problems, I didn't like the results... I won't get in any detail, just, let's say I preferred building my own clothes (what you see here is the smooth, more detailed version, built on top of the simulation mesh, which is simpler and totally even, all quads). The clothes will look more interesting when deformed though ;) Remember those robots scavenging for parts in Spielberg's AI? One of those was me. This is my way of being creative... more recently... although I guess I always liked collages... Cooper here is put together from a bunch of recycled parts, free models from the internet (like the ears are from Andy, I think... the initial face was anther free rig, Loogie... anyway, the face took a lot of work, so it doesn't look like the original model at all) , Poser clothing... I might give him different clothes altogether... not sure... but I should. The proportions are also WIP. And the glasses are definitely temporary, hihi. I'm no modeler, I just like messing around with shapes and ideas. I wish I could collaborate with a good modeler, I'd rig and animate his/her creations and he/she would build cool looking puppets for me... eh... So here's Cooper, he's not a kid in fact, I'll add some facial hair and you'll be surprised... hehe, cartoons are evil ;) Look at the second image, he doesn't so childish anymore. Also, with smaller glasses... he would have looked slightly more mature... I can't wait to see him in action. That'll probably be in a few days. I expect to finish all the work on him quick, but I might need cleaner clothes... more even topology... or maybe I'll use a wrap deformer and drive these ones with a simple mesh. I want to try to rig his entire body as one nCloth object (or a few) that follow/s the smooth skinning. nCloth is insanely cool btw, the collisions are a dream come true! This week I've been working hard on completing and automating the face setup I partially used in the last post. It's a 13 steps setup now :D 13 is a... mostly lucky number for me... I think... The setup is made to be easy to use and reduce to close to zero the extra-unnecessary-work (like: select curve, click button, paint weights), and it's totally flexible, but it doesn't have an elegant interface just yet. And it could be more efficient and faster... but hell, I'm no programmer. So I'm not sharing it, but if I could clean it up and make it more efficient, I would. Right now is heavily based on naming, instead of variables, for example. So yeah, it's not ready to be brutalized by anyone except me... This is a quick and dirty test!! I'm working on a new method for doing facial setup using wire deformers. Simply put, wire deformers are amaaaaaaazing. I haven't used them before, but I just realized they are like... easy to setup joint chains with auto-aiming that you get for free, and weights painting that's made easy. You just draw a curve, assign it to an object as a wire, paint the wire weights (easily, with a lot of creative freedom), and moving the curve's points you deform the object. And it just works! I'm testing the numbers of curve control points that would be ideal for specific deformations at the moment. The idea is to have as few points as possible, so you work fast and easy with them, and also get smooth deformations. The more detailed the curve though, the more control you have over the detail... This kind of setup works great for cartoony stuff, because it gives you shape control. Someone was smartly suggesting on a forum that you can use wires to make "blendshapes" out of them. Instead of sculpting points, you sculpt the face easily with a few curves. It's faaaaaast, completely flexible, and the deformations have nice falloff, unlike blendshapes. So these deformations here are 100% messing around with these 11 wires on the face, no corrective blendshapes. I think I'll use only one wire instead of 2 for stuff that's left-right. Easier to paint. The nose should also, maybe, have a more straight wire, not a curvy one. Round margins don't behave so well, reason why I used 2 wires for the lips, not a circle. Same with the eyelids. Oh, I've geometry constrained the eyelid controllers to the eyes - although on a more serious setup I'd make a slightly larger dummy object for each eye and geo-constrain to that, I think... Each curve has around 4-8 control points. Each wire is assigned to a separate mesh!! That's important! The meshes are then added as blendshapes to the base head (all done with a click/script). If you add more than 1 wire to one mesh... for some reason, they get really slow. I've tried all kinds of workarounds, the only one that worked was this, unfortunately, because it's not ideal, you have to keep all the duplicated meshes in your scene :| Well, if you reference the character for animation it's OK. There are many free rigs out there, and some of them are quite all right, but this one I think is the coolest. It's called Andy and is developed by John Doublestein for students at the Savannah College of Art and Design. Here you can download it, and this is John's website. |
About me
I'm a character animator, visual artist, game dev, and music composer. I like to doodle, write, experiment, and plan my next big thing. I love tech that inspires and enables art. I have a formal background in music composition. And I like to walk around the world and see things up close. Archives
September 2021
|