Time for my daily design session!
Having done animations yesterday, I need to think about material design today. Essentially this means thinking about what material groups enemies will need.
First, I could do something like, fur, scales, carapace, jelly, and so on. The problem with this is that you end up with fairly "fixed" material sets. That is, a certain layout will always be furry, or jelly, or whatever. Instead, I want to think of material "themes", i.e., what body part (or body part-set) will the material be added to. This lets me do monsters that are "themable", i.e., a crawler might be reptillian in theme, or mammalian in theme, and really all I have to change are the material sets. In fact, if I do just a very small amount of work, choosing different body parts to belong to each theme, I can get even better results, while sharing parts across themes (very good thing). I.e., I can have a factory that produces reptillians, and another that produces mammals, and they will share parts and layouts/animations, but will only use those which are appropriate to each.
So, what I am thinking right now for material categorizations are:
- belly: for reptiles, would be some kind of segmented texture; or a lighter fur for mammals
- back: for reptiles, scales; for mammals, fur!
- spikes: some type of boney texture
- skin: some kind of rubbery texture for reptiles; pink pig-skin for mammals
- ???: it would be nice to have some alpha-test textures, that I could use for simple fur-like effects, not sure what it would be on reptiles
Now, what I'm sitting here thinking is that, this isn't fully exploiting the autogen either! Further, it limits how I can put stripes/etc., onto creatures, which isn't really what I want. This problem is a little hard to explain but it's probably instructive to think of the ship models. Ships have a "top" and "bottom" material, and also a cockpit texture. The top is usually shiny, the bottom dull. This works quite well actually, and lets me have a nice metallic surface on the ships, but unfortunately it kind of precludes putting decals (stripes, component electronics, other details which would really add a lot). In the case of ships, I like the metallic effects a lot; I am thinking of using another texture layer for decals, a solution which is not actually very easy to implement (due to an unfortunate design decision of the autogen...)
Now, what I can do instead, is to exploit multitexture. For the frindoth mantis, in D13, I used one layer of texture that was like the mantis' green, slimy skin. Then, I used a modulating layer on top which was the color of some stripes. Almost all animals have stripes, spots, or some other pattern which differentiates them. So what I'm saying is, why not mix and match textures, AND materials; the materials will make use of the textures.
One approach to selecting textures is to have a base, and pattern texture, and have a chooser for each (or several) body parts. At least in the case of patterns, I think it is quite useful to have a chooser for each body part.
Hmn, this could result in really mismatched patterns! Imagine a spotted leopard with zebra stripes on it's legs, and a giraffe pattern on it's face. RIiiiight.
Well then, I can fix this how: I will use premade "pattern groups", which will be sets of three textures (or so); say one for back/body, one for face, well, maybe just those two. The textures in each pattern group match, but are maybe slightly different. Each model will have two pattern groups, a back and a belly one. The back one will contain the stripes, spots, whatever that we think of as animal patterns. The belly one will be just to give some added (dis)coloration to the belly; i.e., it will be sort of a dirt map.
Then, what we do, is the materials for certain body parts, such as head, face, legs, back, tail, will use the back pattern group, and the appropriate of those two patterns (i.e., use the head pattern for the head)
The other body part materials, namely the belly, feet, horns, whatever, will use the belly pattern.
This basically solves it, though the design is a little complex, it allows for mixing and matching between patterns, base textures, and materials (the last of these meaning, some might be shiny, some dull, some bright, dome dim, what have you)
Note that this design requires me to split some of my meshes into two groups, but this isn't really much of an issue and really, has to be done anyhow.
NOW! Shading was another big plus in the ship design. Basically I found that, even just constant-shading gave me a lot of selection, because I could choose the main color of the ship independant from the textures. This is quite good, limits abit of the color variation but not that badly really. I think I will do the same here, but also, add some noise in so that the creatures can have different shading. Even a first order perlin will work... Shader will use I guess a couple (or just one?) input color.
Now the amazing thing is, this very scary looking design which would take a team of artists a millenia to really get sorted out. HAHAHA I'll do it in a day, no problem. Well, maybe two days but still, it's not really nearly as hard as it looks. Now, don't you really wonder how the autogen works?
PS: I think, from now on, I will add status updates as comments, if I can do that (comment on my own livejournal) becuase this frequency of updating is getting pretty silly.