Cosmetics. Yep. Let's talk about them for Star Wars - Redemption.
First of all don't worry, I don't plan on going in a "modern" way to incorporate everything from other universes inside the project, the goal reamins consistent with Mevenn's story/character and aims just to give more options to vary her look, not all options :)
I won't add a "vader" suit if it's never justified in the scenario for example (and at the moment that's not planed haha). She's a Jedi and a Lumberian, she likes to wear stuff like her troopers to stay close to them and boost their mental on battle front. Lumberia is the magical part of her own world, so every time I explore new ideas of hairstyles, warpaints, armors/outfits in this fashion I like to add some Vikings, medieval-fantasy elements to it. Lumberia has a long story of old battles where it was not about Jedi, Sith and Troopers of any kind but battle-mages, knights, revived skeletons and obscure use of long forgotten Force powers. It's kind of a "lord of the rings" planet within the galaxy of star wars in my mind (but also Sacred, Dragon age...and a zest of Rayman (if you know, know you're the best to me ;)). This world is inspired by magic and nature and beautiful landscapes, nothing needs to be all-horror if you want to have a dark world I think. Contrast will enhance feelings, there's no light without darkness as the old man says and Lumberia can stand as a sanctuary of peace during the dark times of the galactic reign of the Empire)
And at most, I made the "Ancient Lumberian Armors", thinking of all the old armors that served the great warrior of ancient and dark times, (I like to think about Arkaine's Valor Armor from Diablo 1, it feels very old and tells a thing about the world you walk into centuries after). There are close to the one worn by Mevenn's ancestor "Sevwyrenn", when she had to survive and defeat the biggest threat of her time. She was a Force user but not a Jedi and was one with all of the Lumberian "magic living elements", so I made a mix of traditional medieval stuff and forest foliage from Lumberia. It's actually a fun part I really liked, to deisng this armor knowing all the lore I wanted to pour into it :)
Not sure I'll turn each of them into a playable set, but they are all very interesting to model and I'm already seeing Mevenn wearing them especially in Lumberia or Geonosis (natural landscapes might suits better to these kinda "mystical" armors)
Big change : now all the look can be edited through a dedicated interface, the "Cosmetics". You can access it when in a ground-level, no matter if you're in combat, this might look odd but you won't die while equiping your favorite armor ;)
The following attribute can now be edited :
- Hairstyle : more options, and now desynchronized from outfit, so you can make more mixes. I've reworked/optimized every old ones from scratch and they're all dynamically simulated in game
- Haircolor : Most are regular tones, but yes you have some vibrant colors. I kept it consistent with other parameters, though, so no super saturated pink or flashy greenscreen. Fun fact, I actually use a flashy green screen color in 3dsmax to define collision/sim meshes ^^" But they stay hidden in the game so it's okay)
- Eyebrow value : Use it to get darker or brighter eyebrow, even at max they'll remain a bit darker than the hairstyle to keep consistency
- Face Marks : change Mevenn's tatoos, I made a "scary face" just for fun, but this slider is mostly here to manage tatoos ^^
- Iris color : Various tones for the eyes, I've split them in 2 tones everytime, one for dark area, the other for bright part. As for the hairstyle color I'm just using a minimalistic texture, literally on pixel per tone
- Iris intensity : if you want those "sith" eyes ^^ It can also bring dark tones to "normal" value like the dark blue eye. Basically this adds emissive to the iris
- Outfit : Change stuff here
- "+ -" : helps to see face closer
- checkboxes are here to equip/unequip Jetpack/Cape/Helmet, and decide to use default Mevenn looks per-level (as they are linked to her own story)
Here's how it looks in game :
I'd like to dive a little on those hairstyles, as I found a way to make them that is - I think - quite efficient and design friendly.
First, I work them all in ZBrush. I have a little bust on which I can draw my hairstrands.
I follow a few design rules :
- use 5 sides strands
- crease along these 5 sides, if needed to pinch some parts of the hairstyle, just add an edgeloop and pinch it
- maintain a lowpoly/SubD logic (using Dynamic Subdiv, sub lvl at 1, crease at 15)
- strands must have no point tips and remain UV-able as simple cylinders
- there should be rhythm in strands. No duplicates, of course you can clone them but always rework strands so you don't end up with a "3D feel".
- think about volume
- add a few tiny strands to either turn them as braided hairs or simply give the illusion of deeply detailed model
- UV them all in the same start/end direction, since we will rely on gradients
- Hair "color" should be multiplied with a real color later in unreal so hair textures should be grayscale. And rely on the same gradient values
SO ! HOW DO WE START ?
Haha, like this :
This hairstyle was not meant to be one of those I designed back in 2015/2016, but just serve as a crash-test. I wasn't sure at this point if my method would work (but I was like 70% sure haha)
The idea, as I told before, was to have cylinder-shaped strands. In ZBrush, I use mostly the curvetube brush with a brush modifier at 5 (for my 5 sides), and adapt the curve intensity/size based on another curve in stroke>curve menu. Yep. Lots of curves for curvy hair haha (sorry for the joke). I then need to add crease along my 5-sides edgeloops using the ZModeler and preview the result using the Dynamic Subdiv. It's a wonderful tool that keeps your filesize super tiny and your end-topology super clean, with simple yet great controls over your design, since you'll manipulate a pretty lowpoly mesh. SubD adepts know that power pretty well ;)
Keep in mind that in the screenshots I show you here I intentionally cranked up the subdiv levels, but I only use a single iteration, it's easier to cleanup later in 3dsmax ;)
Another way if you don't want to manually crease all these edgeloops (which I can understand), is to manually create the curve profile using an insert mesh with creases. It's basically a cylinder. Cool thing it it will be much closer to UVs part of the process, but I personally prefer to manipulate my start/end strands using pointy tips, this kinda feels better to manipulate.
Once in 3dsMax, I do the following : if I used curvetube brush in ZBrush, first, I'd need to remove both the start & end pointy tips of each strand. Since I use 5 sides, the only vertices connected to 5 are the start/end ones and fortunately, in 3dsmax you can select them quickly with the selection part of the graphite toolbar. Then, no matter the brush I used, I'd need to simplify the polycount of my strands, since I've subdivided them once, I can select one edge per strand on flat areas, perform a dot edgeloop and remove them (make sure to also remove vertices, remove edge in 3dsmax can be used in two different ways and you don't want to keep vertices here)
Then I crafted a quick UV layout in photoshop, I like to do that to plan out where I'll put what, it's a very "env.art" approach, but I thought like, why not try it out ? And I was also exstatic to try out a new plugin : UV Zone Layout. I'm not affiliated with its creator (JokerMartini, if you don't know about him he's a high-quality plugin-maker for 3dsmax) . Seriously consider trying this one if you regularly deal with texture atlases in 3dsmax.
How it works is super simple : you create UVs squares/rectangles where you'll need to apply parts of your atlas texture, you send them to the plugin and save it as a template. You can also create these zones directly in the plugin window, but I much prefer the other way, it simply fits best my workflow, of course it's cool to have multiple choices.
Everytime you'll restart 3dsmax you'll need to reload it, but it's safe and saved on your disk and can be used on any desired scene (maybe having a dropdown with user presets could be nice, but that's really just a detail). Then, when you're done with unwrapping UVs for your haircut like here, select island and just click on the desired UV zone : and boom. You can of course decide how you want to fit the island, like with a desktop wallpaper. It's really that simple and you can move on =)
UVs looks like a big mess, but it's just tons of strands overlapped on precise areas, this way they'll get the good normalmap data, gradient color...etc
And here's the result, note that the hair part remains grey so I can use it as a lerp mask (or product, depends on how far you need to push the colors, mult will limit to a single hue, lerp offers to mess with 2, like start violet, end in red/orange :) I didn't went far that said, as explained at this blog post's start : I still want to keep Mevenn as Mevenn)
Now I'm okay with the workflow, why not rework the existing hairstyles ? Let's start with the very first one I ever made for Mevenn, too symmetrical & blocky, quite hard to animate and let's not talk about its UV haha. I was a young game artist ^^"
So again, first step is to draw strands, get a nice hairflow into ZBrush, to maintain the original idea but give it a fresh spin. I tried to add various types of jewels to replace her green stripes in ZBrush but well, none really worked, often because too complex. I did that later in 3dsmax, simply by taking some parts of strands, cut, extract, bevel and add a few loops, nothing more :) The good thing is it's always aligned perfectly with strands, it's only a few clicks aways, and you can rapidly see the result with UV Zone Layout. From flat/non-reflective green-strips, Mevenn went to deep green emeralds. I like it more since it brings balance to the roughness/metal in addition to the basecolor. It's a crucial rule to keep in mind (I think) when you want to have clean/readable textures & materials.
Also a little piece I needed to add for each haircut was a cloth proxy mesh. This allows for simpler cloth computing, and since it's a one sided, simple mesh, it won't mess up the final haircut :)Another important thing was to have a haircap for haircuts that could simulate drastic changes and show part of Mevenn's skinhead, this visually fix the stuff at an acceptable cost. I can also decide for each haircut which polygons will rely on the cloth sim and which won't, based on material IDs
Another new cool addition is the exponential height fog on Geonosis levels, mostly visible in Geonosis Canyon, this adds much more depth to the whole level. I also toned down the sky so it appears a bit darker and gives a more dramatic mood than before. See below some screen comparisons between 2.7 and 2.8 :
Also a new (and still very WIP) addition : the Jedi Purge level. I'm reworking it from ground zero, at first I wanted to just add coruscant surroundings and a part of the Jedi Temple's big walls around the initially quite flat level, but I took it more seriously and decided to make a level that reminds more parts of the Temple than just a few collumns, the idea is still to make Clones versus Jedis, in a outrageous number of participants haha (I try to keep it smooth even if you go on 4x enemies/allies reinforcements). So here you can see some places of the level, it's all WIP, almost not textured because I still work on the level design itself to get the best flow I can, as well as gorgeous points of view. That's a thing that came more naturally for Lumberia & Geonosis, as Rocks and trees offers natural design arcs and flows while here, I have to control a lot more the architecture. But honestly, I really enjoy that part ! Plus here for the blocking, I'm using intensively the smart extrude recently introduced in 3dsmax (I heard maya has it as well. Don't know which of their devs built the idea first, or if it's from an external tech artist, but this perso deserves a lot of love for what it brought to the modeling toolset. Making precise design cuts have never been easier in 3dsmax and it's actually still pretty neat)
And to finish this blog post about WIP stuff, here are a few animations I made on Mevenn (this little "flying dance" was more for fun than a final idle I would put in the game. I son't know haha, tell me, would you like to have it one day in the demo ? I'm genuinely curious)
And, well. If you want to know how to add a look at constrain for your character's eyes in akeytsu, I've made a tutorial about that (don't worry, it's pretty simple and yes, it can apply to most rigs, like I can't see actually where it would not apply ^^) :