Difference between revisions of "SkankerzeroModularCharacterSystem"
(more added) |
(more) |
||
Line 163: | Line 163: | ||
The next step is to take this base mesh and alter it to make all the pieces in your list. | The next step is to take this base mesh and alter it to make all the pieces in your list. | ||
You should always have a copy of your clean, unaltered base mesh in your scene. This is very useful when you need to build clothing over it or when you need to go back and Frankenstein a part off it. | You should always have a copy of your clean, unaltered base mesh in your scene. This is very useful when you need to build clothing over it or when you need to go back and Frankenstein a part off it. | ||
+ | |||
+ | == Progress == | ||
+ | just a really quick update. | ||
+ | |||
+ | I've modeled out: | ||
+ | mutant head | ||
+ | mutant arms | ||
+ | mutant hands | ||
+ | skeleton head | ||
+ | skeleton arms | ||
+ | skeleton hands | ||
+ | baseball cap | ||
+ | baseball batting helmet | ||
+ | tentacle legs | ||
+ | uniform torso | ||
+ | uniform pants | ||
+ | uniform shorts | ||
+ | |||
+ | up next are: | ||
+ | tentacle arms | ||
+ | baseball shoes | ||
+ | skeleton legs | ||
+ | skeleton feet | ||
+ | mutant head #2 | ||
+ | Baseball bat | ||
+ | Baseball | ||
+ | Catchers pads | ||
+ | |||
+ | screenshots this weekend. | ||
+ | |||
+ | == Making Sure Your Parts Work Across Variations == | ||
+ | |||
+ | The next step after modeling out your base mesh is to begin creating the variation parts. | ||
+ | |||
+ | There are four big rules for creating parts. | ||
+ | |||
+ | 1: | ||
+ | Make sure your verts line up across your parts at the seams. | ||
+ | |||
+ | For example, all your sleeves have to work with all your torsos. | ||
+ | |||
+ | 2: | ||
+ | Make sure your topology around your deforming areas lines up to ensure that there will be no piercing of geometry. | ||
+ | |||
+ | This should really be general knowledge when it comes to game modeling, but it's easy to overlook when making characters as complex as this. Be sure to test your parts across all your variation parts. | ||
+ | |||
+ | 3: | ||
+ | Keep your pivots at 0,0,0 across all parts. | ||
+ | |||
+ | This will ensure that all the parts snap together perfectly when snapped to 0,0,0, such as below: | ||
+ | |||
+ | 4: | ||
+ | Keep your naming convention easy to follow. | ||
+ | |||
+ | Be descriptive with the name. Identify left and right with _L and _R. If a model has similar multiple objects like toes or fingers use numbers. | ||
+ | |||
+ | For sorting purposes, I try and define the region first. This will ensure that all the parts will sort together alphabetically. | ||
+ | |||
+ | {| border="1" cellpadding="2" cellspacing="0" | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | The key is to be descriptive so selecting parts is easy for you. | ||
+ | |||
+ | == Now Let's Look At How I Applied The Above To My Model == | ||
+ | |||
+ | All parts have a pivot at 0,0,0. | ||
+ | |||
+ | They all snap perfectly together at 0,0,0. | ||
+ | |||
+ | I followed a naming convention that makes sense for this file: | ||
+ | |||
+ | All verts snap perfectly across parts: | ||
+ | |||
+ | The above image shows some of the possible combinations available. | ||
+ | |||
+ | Parts like the caps don't fit perfectly just yet because I'm waiting until I begin creating the unique variations. | ||
+ | There are two sets of torsos. A uniform one and one with a baseball jacket over the uniform. For the jacketed torso, I had to create a modified version of the pants and shorts to work with the overhanging jacket. The modified geometry will share the same uv texture space as the unmodified pants and shorts. The shorts are designed to be cut off at a natural seam that will be hidden be an armor plate and strap. | ||
+ | There is still some geometry missing, such as spikes, eyes, baseball, and possibly another mutant head. | ||
+ | |||
+ | == This is what I have so far == | ||
+ | |||
+ | The next part will be over laying out the uvs and the beginnings of texturing. | ||
+ | Also keep in mind, these are the base proportions. Once the models are uvmapped and textured, the process of reporportioning the 9 unique characters will begin. Some will be made fatter, others taller, some longer legs, others longer arms, etc. | ||
+ | |||
+ | I haven't been working on this as much as I should, or I would be further along. Been trying to balance this out with my social life. Either way, I should still hit the deadline. | ||
+ | |||
+ | I'll know for sure if I have to remove parts or if I can add parts during the uv phase. | ||
== More Info == | == More Info == |
Revision as of 06:15, 15 March 2012
Contents
- 1 Skankerzero Modular Character System
- 1.1 Modular Assets
- 1.2 Knowing Your Platform aka: Being A Smart And Efficient Artist
- 1.3 Setting Up The Rules
- 1.4 Identifying Parts
- 1.5 Creating A Proper Base Mesh
- 1.6 UV Your Base Mesh Now
- 1.7 Progress
- 1.8 Making Sure Your Parts Work Across Variations
- 1.9 Now Let's Look At How I Applied The Above To My Model
- 1.10 This is what I have so far
- 1.11 More Info
Skankerzero Modular Character System
How to create a modular character system, by Jesse 'skankerzero' Sosa. Mirrored from the Polycount thread MUTANT Little League TEAM.
I'm going to kick this contest up a notch and make A WHOLE TEAM using the specs for a single character.
I'll try my best to document what I do to help others think outside of the box in the future. I'll also try and write down my brainstorming process.
Modular Assets
For this 'character' I will be creating a modular asset.
By 'modular asset' I mean an asset that can act as a lego piece if you will.
During my 9 years at Terminal Reality, I spearheaded our crowd / parting system on the art side. We created characters that used a single animation rig and were made out of parts that were swapped according to an XML file. In that file we defined specific variants and the parts they worked with. We were also able to completely randomize the character using parts and creating an exception list of parts that didn't work together.
Below is a small example of some that I've done in my past.
Back in 2004, I tackled my first modular parts character for BloodRayne 2.
Every human bad guy in BR2 ended up using this technique. All of them used no more than a 512x512.
Another early example are the females from Aeon Flux.
This is probably a bad example because looking at the texture now it's obvious I didn't use the full texture. I can't quite remember what I did with these characters, but I believe I ended up cramming the male and female textures together into a single 512x512.
Following are two examples from Ghostbusters:
The first example is a single character that is meant to be viewed at about 75 feet or more away from the camera.
This is considered a single character as it has a single rig that animates all the characters. The rig is less than 32 bones and would animate all the outstretched arms and random heads and bodies to create the illusion of a crowd stirring about. The polycount falls within a single character's budget (12,254 tris). and it uses a single 256x128 texture.
The second example is the crowd system I helped design and build for the game.
This image shows 2 different characters. Both characters use the same rig and animation set. They also share a single 1024x512. This level of detail was to be 25 feet or more away from the camera. We had higher res crowds for the up close shots. What you see here is the final assets that made it into the game. The original assets had twice as many parts but had to be cut down in order to fit the memory footprint for the levels. Each possible variant was around 1500 - 1700 tris. The above image is the 'low poly' character assets that I created off the 'higher poly' assets delivered to us from the outsourcers. I had them deliver the assets in such a way that I could easily piece together unique character NPCs whenever they were needed. This is all thanks to a modular setup across all character models. For example; If we wanted Bill Murray to wear jeans and a shirt, I could easily drop his head into a scene and merge in a shirt and some jeans from the crowd system and in just minutes we had a new Bill Murray variant.
I could go on and on about creating modular crowd assets, but perhaps that would be best for another time.
For now, I'm going to apply the same knowledge and theories to create a full little league team for this challenge.
Knowing Your Platform aka: Being A Smart And Efficient Artist
First step is to know your platform. Often time there is a lot of wasted effort put into characters simply because artists don't understand the platform they're building for. In this challenge we're aiming at the mobile market. Below are two images that show the screen resolutions for the phone and tablet platforms.
phone:
tablet:
A lot of wasted time and effort can go into details that will never be seen at these resolutions. Most detail will 'swim' or 'shimmer' because more than one texture pixel will take up a single screen pixel. The engine has to decide which texture pixel to draw for that screen pixel every frame. Thus, 'swimming' or 'shimmering'. This is why mipmaps are so important.
Knowing this, I will also choose an appropriate art and texture style to accommodate the final platform. A simpler art style will also be advantageous when I have to assign less texture space to certain parts.
Setting Up The Rules
So now I set up the rules that I will follow for this character asset.
1: 2,500 tris max per variation including equipment and fx 2: 512x512 textures per texture pass 3: 9 total unique characters to form the team
I'll further break this down.
- The modular asset will be much more than 2500 tris, but the final unique variations will all fall within the limitation.
- I will be using a 512x512 diffuse in the rgb with the specular in the alpha for all the parts. I will also be using a 512x512 rgba image for masks. I will not be using bump maps because the final deliverable will be screenshots. Bump maps are only good for high end renders and motion. So they will be a waste of my time. This all goes into being a smart and efficient artist.
- I will take the modular models, mix and match parts, and squash and stretch proportions to create 9 unique characters with minimal effort. It can be assumed that each character will be on it's own rig with it's own animation set, so this frees me of the single rig limitation when it comes to proportions.
I can also go in and edit the mesh on each unique character as I see fit as long as I don't go above 2500 tris.
Identifying Parts
With most crowd characters, a lot of time is spent studying reference to see what makes up the crowd you're building.
On Ghostbusters, I watched and took lots of screenshots from the 1991 - 1992 seasons of Seinfeld. That was the year and location of the crowd I was building.
I had to identify the key elements that people wore during the fall season. For this, I will be looking at a baseball team and breaking down what I believe is needed to achieve the amount of variation needed.
All the above is subject to change, but I think this is what it will take to create a good, varied team.
The list may seem like a lot of work, but trust me, it's not. A lot of it comes from creating a good base model with uvs. From there it's only a matter pushing and pulling verts to create different shapes, moving uvs, and adjusting textures.
If time allows for it, I will also create the away team using the same textures and masks to create a whole different team.
Creating A Proper Base Mesh
When people think of 'base meshes' they usually think of either a Z-Brush base mesh or your standard 'naked human' base mesh. For this example we're going with the latter.
In a crowd system, your base mesh should be the most average character contained within the system. This means you can push and pull the verts to extremes without having too much uv distortion.
For example: If you're going to create 3 characters off one base mesh; A 6ft tall human, a 7 ft tall human, and a 5 ft tall human; your base mesh should be the 6ft tall human.
Do whatever you normally do to get to this point:
This is the game mesh I made for this challenge.
Now, let's reference back to the parts list I created.
Let's identify those areas on your base mesh and make sure we built the mesh correctly to accept part variations.
I have decided to part out the hands and feet as well since they will receive parts such as gloves, mitts, shoes, and bare feet. Try to place your parts at clothing seams. As I have learned over the years, this is the easiest way to do part swapping.
Be sure that you have complete edge loops where you're parts meet. This will save you many headaches in the future.
Your character should have clean cuts such as below:
That's pretty much all there is to setting up your base mesh for parts.
UV Your Base Mesh Now
Take this base mesh and uv it quickly. Be sure to make your uv seams along the part seams you determined earlier. This will help a lot later.
I use Headus UVLayout because I'm a winner, and so should you.
There is no need to pack the uv islands, just go ahead and unwrap it. This can save you time later when you begin to copy geometry off it to create new arms and legs.
Using Headus UVLayout, that took be a little less than 10 minutes to unwrap and get the consistent result you see in that screenshot. (The eyes are temp, so I didn't bother to uv them.)
The next step is to take this base mesh and alter it to make all the pieces in your list. You should always have a copy of your clean, unaltered base mesh in your scene. This is very useful when you need to build clothing over it or when you need to go back and Frankenstein a part off it.
Progress
just a really quick update.
I've modeled out: mutant head mutant arms mutant hands skeleton head skeleton arms skeleton hands baseball cap baseball batting helmet tentacle legs uniform torso uniform pants uniform shorts
up next are: tentacle arms baseball shoes skeleton legs skeleton feet mutant head #2 Baseball bat Baseball Catchers pads
screenshots this weekend.
Making Sure Your Parts Work Across Variations
The next step after modeling out your base mesh is to begin creating the variation parts.
There are four big rules for creating parts.
1: Make sure your verts line up across your parts at the seams.
For example, all your sleeves have to work with all your torsos.
2: Make sure your topology around your deforming areas lines up to ensure that there will be no piercing of geometry.
This should really be general knowledge when it comes to game modeling, but it's easy to overlook when making characters as complex as this. Be sure to test your parts across all your variation parts.
3: Keep your pivots at 0,0,0 across all parts.
This will ensure that all the parts snap together perfectly when snapped to 0,0,0, such as below:
4: Keep your naming convention easy to follow.
Be descriptive with the name. Identify left and right with _L and _R. If a model has similar multiple objects like toes or fingers use numbers.
For sorting purposes, I try and define the region first. This will ensure that all the parts will sort together alphabetically.
The key is to be descriptive so selecting parts is easy for you.
Now Let's Look At How I Applied The Above To My Model
All parts have a pivot at 0,0,0.
They all snap perfectly together at 0,0,0.
I followed a naming convention that makes sense for this file:
All verts snap perfectly across parts:
The above image shows some of the possible combinations available.
Parts like the caps don't fit perfectly just yet because I'm waiting until I begin creating the unique variations. There are two sets of torsos. A uniform one and one with a baseball jacket over the uniform. For the jacketed torso, I had to create a modified version of the pants and shorts to work with the overhanging jacket. The modified geometry will share the same uv texture space as the unmodified pants and shorts. The shorts are designed to be cut off at a natural seam that will be hidden be an armor plate and strap. There is still some geometry missing, such as spikes, eyes, baseball, and possibly another mutant head.
This is what I have so far
The next part will be over laying out the uvs and the beginnings of texturing. Also keep in mind, these are the base proportions. Once the models are uvmapped and textured, the process of reporportioning the 9 unique characters will begin. Some will be made fatter, others taller, some longer legs, others longer arms, etc.
I haven't been working on this as much as I should, or I would be further along. Been trying to balance this out with my social life. Either way, I should still hit the deadline.
I'll know for sure if I have to remove parts or if I can add parts during the uv phase.