Hey folks!
For a Masters degree in games design and modeling I'm doing a project involving a "Custom character system" for the UDK which I want to share and would like your opinions on.
I've come up with a 'workflow' which could be used that goes from stage 1 modeling to the final result in engine. I just want to show some of my milestone stages and see what you think!
Firstly, a custom character system? What art that?! :-
It's the type of system seen in games like Morrowind, All Points Bulletin, Mass Effect and many many more! A system which will let the user change a base meshes appearance for example facial structure, body structure, skin colour and complexion etc.
Okay so milestone 1 was to source a model to use for the project.. Because this runs over two semesters I'm sourcing a base mesh and only doing a male character. I'm using the awesome base mesh by Nick Zuccarello (with permission). I'm using Zbrush to create morph targets as it has awesome features like active symmetry, move tool and layers! Layers has an awesome option to reverse intensity!
Okay so here is the base mesh that I'm using.. I've tweaked it to around 9k triangles!
Here are some of the wacky morphs I have made in Zbrush!
Exported morphs in 3Ds Max! about 40 in total!
Clothing and Hair! with some morphs as well!
I have setup the system in UDK with the morph targets etc and it works fine!
Character in engine (with crap vectors instead of diffuse maps :poly124:)
Morph target set. The animation tree toolset is needed as well if I want it to work with matinee or in script via scaleform.
The things left to do is mainly the texturing! I need to do the following
- Texture pale and tanned diffuse maps of the character so that I can hopefully make a blend system in the material editor
- Texture hair and clothing
- Texture two tattoos
- Sculpt an example of wrinkles, a scar and an older complexion. Then bake normal map overlays
- Setup shaders for all textures
- Rig and skin with standard biped
- Final prototype either in Matinee/Kismet or build a GUI using scaleform!
Any suggestions to this system would be greatly appreciated! I'm considering to implement global scale somehow, most likely through script in the engine. I hope you folks like what I have done thus far.
Replies
The single topology morph system is definitely sound, but is there any particular reason your topology down the middle front of the mesh is so dense? You mentioned you were using an existing basemesh, but at least from screencaps, that one doesn't seem quite as uneven?
I've asked around on the UDK forums but have had no luck to hook up that kind of slider =/ My guess is that it will be a custom scripted node?
I'll see about cleaning up the dense areas although I'm guessing it will break my morph targets if the vertex count is changed.
Thanks
I've implemented dynamic eye and skin colour systems!
Because the eyes UV space is on the same area and same Material ID as the head I needed to use masking and linear interpolation to accomplish this!
Got it hooked up with a vector parameter so the colour can be changed as a material instance.
As for the skin colours, I've 'very quickly' made some diffuse texture from 3D coat to test interpolation from one texture to another. IE, pale to dark and hoping the falloff doesn't look horrible.
Here are the results.!
I think for the amount of time it took to do the texture maps (30 minutes), I've got an okay result! Once I properly paint these diffuse maps the result will be much better!
Also, all these assets aren't finished. IE I have yet to clean up normal maps, texture things properly etc. At the moment I'm testing my content as early as possible!
Are you making an actual system that other people can use and simply change a character model based of the options your creating? Haven't seen anyone i know create something thats outisde of the usual UDK so its kinda mind blowing to me haha XD
Dunno if its possible but it would be cool if you could blend a animation in the anim tree of say, unmodified nose to modified nose#1. People could get something in between instead of preset #1, #2 etc.
Keep it up dude!! will be following this
Basically what's happening is for example the nose has multiple different morph targets for height, depth and width of the nose. Instead of saying bam here's some presets to choose the user will be able to control a slider which will determine how much each morph will be affected. If that makes sense.
I should probably post a video demo thus far as pictures arent doing this justice
Now you can see all my unfinished stuff like the bad texture seams :P
[ame="http://www.youtube.com/watch?v=de8S94zYEDc"]Custom Character System Eye Test - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=9_wBBdSJvqE"]Custom Character System morph Tests - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=fg-sdKiOixg"]Custom Character System Skin Colour Test - YouTube[/ame]
Not too happy at the moment with the tattoos as they aren't looking good when overlayed so I'll look into another way of doing it..
[ame="http://www.youtube.com/watch?v=YKhA2DaSGEw"]Custom Character System Tattoo Tests - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=X_hw3qBUFBc"]Meng Project Clothing test - YouTube[/ame]
Got an updated video with pretty much all of the WIP systems in place! All that is needed now is for me to work on getting the assets looking as good as possible! Thanks for watching.
[ame="http://www.youtube.com/watch?v=1VmMUSf8tkY"]Character Customisation Project WIP - YouTube[/ame]
Not too sure on how SSS maps should be done but here it is without:
SSS on:
I guess the light is kind of getting absorbed Also! Thats a new diffuse map! Painted in 3D coat!
Now... Some weird faces this guy can pull!!
Added animated normal maps for the fat body size and older complexion as well as rigged and skinned all the assets! Got the animtree using an aimoffset so he can look at you :P
Still looking a bit clunky though
Regular Man
Thin Man
Fat Man
[ame="http://www.youtube.com/watch?v=cB8UJChizec"]Custom Character System UE3 Demo - YouTube[/ame]
That's the demo!
I would really really appreciate any feedback or comments you folks can think of!
Thanks
Hope you folks like it
[ame="http://www.youtube.com/watch?v=AzQAIKIgq2Y"]Character Customisation Prototype in UE3 - YouTube[/ame]
Always fun to have in a game!
But it's basically a combination of morph targets, overlaying textures, multiple meshes and complex shaders in unreal..