So concludes a long day of learning how to use the Substance tools. Really happy with them and how the texturing on this room is going so far. Still a LOT to do…but maybe that’s a good thing. After all, when this is done, I won’t have it as a project to keep me busy. 🙂
What is with me posting my WIPs on CGtalk and BlenderArtists, but not here? Anyway, here’s a snake-like dragon:
And here he is in a power plant (note: due to clay render, he’s missing his normal maps here):
This project began life as an attempt do a realistic rendition of the pokemon salamence. I discovered after some fiddling that this is a lost cause: Salamence is distinctively not a practical body design. Trying to modify the legs and wings to look like something that might actually fly doesn’t look much like salamence at all. (the only places the wing muscles could go is exactly where the front legs are).
So I made my own dragon. With blackjack. And hookers! AND ONLY TWO LEGS
I’m trying to make the power plant environment look post-apocalyptic, like dragons came to the earth after mankind got (mostly?) wiped out, and this one has taken up a lair in the shell of an old generator facility. It was a one point a reactor containment building, but I didn’t like working with that small of a building, and I feared I wouldn’t be able to design the room accurately.
Also! I picked up the Substance Indie Pack during the flash sale a few weeks ago. Going to break them in properly with this project, because holyfuckballs that is going to be a lot of texturing work. (why did I try do an abandoned environment?….). Hopefully I’ll have a post here in a week or two about integrating the Substance tools with Cycles. (that will involve a new, much slicker version of Simple PBR, by the way).
I’ve lately been embarking on another playthrough of Metroid Prime, and inspired by all that ridiculously good art direction, I’ve set to work on sci-fi lab/dungeon environment. Due to overly hot weather, I spent a good portion of the weekend working on this (kinda wish I went for a hike on Sat when it was cooler, but oh well….)
Tonight I put together the control rig for Metagross. I hope to get a demo video together soon (I want to do it tomorrow, but I might be busy with work and non-CG stuff). But here’s a quick overview of what it can do:
- IK legs, with automatic piston movement. The pistons use the classic method of tracking the two pistons at each other.
- Claw adjustment (just as per-leg sets, didn’t want to take the time to do per-claw movements). This is controlled by a small ring below the leg. Push the ring up to open the claw, pull down to close it. Uses the transformation constraint to copy the ring movement to claw-bone rotation (no drivers needed!)
- Eye look target, both per-eye and a master control for both eyes
- Body raise/lower, independent of center-of-gravity
- Brightness adjustments for all the lights (eyes, side lights, arm lights, etc).
The legs are actually made from a serious of dupligroups. Each leg is made up of 8 or so empties, each one dupligroup-ing a set of geo from the leg. These are broken up by how the pieces of move. For example, there is an arm-baseplate group, a piston group, a connector-shaft group, a claw group, etc. These empties are constrained to bones in the “movement rig” (which is hidden) and those bones are in turn manipulated by the pretty control rig scene above.
This means that rig-geo object updates don’t need to be done for every piece, just the empties on each arm. It also saves RAM at render time by instancing all the arm geometry across the different arms. (so you get 4 arms for the price of one!)
TBH, I’m rather impressed with myself for setting that up. I guess it makes sense in the end since it’s the same type of method I set stuff up with in Maya all the times (groups with geo loaded in them). But I actually spent quite awhile trying other ideas that didn’t work for how to efficiently duplicate the legs. At one point I was considering dupligrouping static pieces and adding rigged-bits separately to each leg! The current rig is far more efficient than that, and I’m really pleased with how it has ended up. This whole project has been a big study in concepting and hard-surface modeling, and I’m honestly amazed how closely the final result resembles the idea I had in my head. On my personal projects, I’ve been trying to shift my focus away from always “finishing” the project, and trying to focus on the process and creative journey of the whole thing (oh God, that sounds so pretentious…).
But really, this project has taken ages, but l’ve learned a TON along the way. I know how to do things I didn’t even know existed when I started (fuck yeah panel loops!). I always feel a little uncomfortable doing fanart, but it’s awesome to see a Pokemon come to life like this, and having someone else’s concepts to work off can be a great way to jump-start a good, massive project.
Textures aren’t 100% done, I still want to do some decals on Metagross. And the floor could use a little touchup too.
Also, been debating on whether or not have a glossy clearcoat (like on a car) on Metagross. It looks cool, but I’m not sure it fits with the metal texture.
Metagross still isn’t posed. The mechanical rig is actually pretty much done (FK arm movement works), I just need to finish hooking up the other 9(!!) claws and do the control rig. I also want do a short animation with it, like a sort of product demo video. Might need a few other rig controls for that though.
Oh dear, I’ve been neglecting this blog, haven’t I?
Well, here’s an info dump on what I’m currently working on. (need to make sure this places makes me look good, showing off my “brand” and all that awful networking stuff)
So here’s Metagross
Here’s a layout experiment:
The idea didn’t start from anything in particular, I just figured it would be fun to make. It’s been awhile since my last Pokemon project, and while I sometimes feel like I’m leeching by making fan art, I always seem to learn a ton of stuff on a project when I can borrow someone else’s ideas to get things started.
So here I am, re-imagining Metagross as a futuristic data center security mech. I’m happy with my progress so far, especially considering how little I knew about hard surface modeling when I started. I THOUGHT I knew a good bit, but it turns out I didn’t. I have no progressed from Jon Snow levels of not knowing to merely “n00bcake” levels of not knowing what I’m doing.
The project has a good bit to do atm. Most of the modeling for Metagross is done (although I still want to detail out the head/body a bit more). The datacenter equipment needs a lot more work. I’ve built each piece of equipment as its own group, then assembled the dupligroups into sets of servers. Then made a group of the set. So in the scene there is about 300 empties, each one duplicating a single 19in rack. My plan is to make a bunch of different sets, then use a script to randomize which one each empty has. I’ve successfully written the script (with some help), but I’ve only made 2 groups so far. Need to buckle down and make a few more…..
I have a new personal project! yay! Somewhere along my day, an image of an abandoned library came into my head, and I figured it was worth making.
Problem. Abandoned libraries still have books on the shelves. Populating bookshelves wasn’t something I’d tackled before. In the past, I’ve just done it by hand with a few books and left bare spots and knicknacks on the shelves. That wasn’t going to cut it for this project though. I needed to figure out a better way.
I knew going in the particle system was going to be my best bet. Blender’s hair particles’ “group” render mode is endlessly handy, it allows you to grow instances from a surface, where each instance is a randomly chosen object from a list. (you can do the full group on every particle too if you’d prefer, but that’s not relevant right now).
So I made a simple little book, and added it to a new group:
My first attempt at the particles was to make a system on the bookshelf itself and use a vertex group to lock it to the shelves. This was…less effective than I had hoped. Controlling where the books were emitted was insane. I tired insetting the shelves to keep them off the sides of the shelf, but they were still appearing all across the shelf, rather than in a line.
After about 6 variations on this, I decided to go for a dedicated emitter object. I at first tried a plane, but the books still weren’t separated properly, they overlapped like crazy. My next attempt was vertex emission, with a bunch of edge loops. Better, they’re evenly spaced now. To get the alignment right, I cut it down the middle and deleted edges, leaving me with my final “book emission line”:
I used the random proportional edit function to rough up the line pattern to the book stick out to different degrees.
The particle system works like this: each vertex emits 1 book, I set this by disabling random emission. (if you leave random on, you’ll get some empty verts and some verts with multiple books). Which book it takes is chosen at random from the book group. The books have a slight randomness on their size too, so I can get a greater book variety without 30000 different book models. Wonderfully, it seems you can have a particle system use a different seed for each system that uses those settings, which made varying the pattern of book easy. I also did one other little trick for that, random colors! Cycles’ “object info” node has a “random” output which will give a different value for every scene object. By hooking this to a ramp and sticking that ramp on the color channel, you end up with a shader that is a different randomly chosen color for each instance.
No final textures or materials on this yet, just a test. But the shelves are filled fully, completely, and easily.