Masters Thesis Project - Custom Character system

Hello Tech artist forums!

I’m hoping that it would be okay to use this forum thread to discuss a project that I am currently undertaking as a partial fulfilment to a Masters degree I am currently doing in computer engineering in the UK.

I have posted here before when it came to doing my dissertation for undergraduate work and I got great feedback and help from the Technical Artist community. The old thread is below:-

http://tech-artists.org/forum/showthread.php?t=1592

My masters project/thesis is based around creating an optimised workflow for developing custom characters for a games engine and testing it.

A little about the project and what my aims are.

I am aiming to produce a highly technical workflow/pipeline which can be used to guide the development of a custom character creation prototype within a game engine. The engine that I am most familiar with is Unreal 3.5 aka UDK.

I will be basing this workflow by using whatever research I can gather from current generation video games, articles and via the online community.

I will then take my workflow and test it by making a custom character system for a generic human male only as this project will solely be done by me (the model itself will be sourced from a 3D artist). I would love to do both male and female character models myself however I don’t have the time neither the skill to do AAA game characters. I have permission to use a base mesh by the artist Nick Zuccarello as shown below.

My current aim, however this can change upon the literature review will be to use morph targets and to create many different facial variations which can be later tweaked in game. Similar to such games like Skyrim, Aion and many sports games. I will also need to consider character age and sculpt/texture wrinkle maps accordingly.

Then I will rig the character (most likely CAT or Biped as I can easily source external animations). Then I can use the morph target modifier and other controllers to build a quick draft prototype within 3Ds Max (my 3d software of preference)

Next I will bring all the assets into the engine, organise appropriately and setup required shaders. I hope to use vectors, parameters etc to allow colour alteration of certain elements such as skin colour. Then I can demonstrate the final outcome in the editor.

If I have the time I would like to attempt to make a simple GUI featuring the character with sliders and controls which would be a much nicer outcome rather than using the UDK editor. However I believe that UDK now uses scaleform to handle it’s user interfaces (that of which I have no knowledge of, or actionsript and flash which I belive drives it).

So what am I hoping to achieve by using this forum? I’m really hoping to get other technical artists opinions on the project, guidance if possible and of course I will be referencing everything appropriately as well. I’m really excited on this project and I hope to see it to the end successfully and hopefully it will be something to look great on my portfolio.

Some questions that I already have if it would be possible for anyone to answer.

[ol]
[li]Best way to create facial variations of a character, manually tweak topology or create a facial rig
[/li][li]Best way to scale a rig or skeleton structure so that the player can adjust the height of the character
[/li][li]Anyone have experience with scaleform or creating UI for Unreal 3 based games
[/li][/ol]

Some reference and inspirational images :nod:

Hopefully I haven’t lost anyone and I would really like to get peoples opinions, feedback and if possible guidance on this project…

Many Thanks

Well looks like fun project, if you need help with action script you can always hit me up, I need something to get me started with scaleForm too (if Autodesk ever approves my dev account).

awesome! thanks!

Anyone got any more advice? especially anyone who’s worked on similar kind of character systems.

Things like how many morph target meshes I should use or how to go about it.

did you see the character system white paper for APB? I’m guessing yes, because of the image, but that’s what comes to mind.

I don’t think I did, the only good article I’ve seen really is the one on Brink which was featured on Polycount a while back.

Do you have a link for it, I can’t seem to find it through google search.

Edit - http://www.gdcvault.com/play/1012469/APB-Creating-a-Powerful-Customisation I think I got it :slight_smile:

Our customisation uses 3 morph targets per gender for body type (skinny, muscular, fat), with the remaining 75 or so for face customisation. The trick there is to figure out a good combination of controls; a balance between control and not overwhelming the player.

Eve might be another good place to look, as their character customisation seems quite freeform (and intuitive).

Thanks for the info!

At the moment I’m going for that similar approach as you mentioned, as well as Brink’s method of creating 3 base characters to start of with.

Then I plan to do what the guys at ‘All points bulletin’ done and do around 40-70 morph targets for the face. (depending on time). I know a dirty little technique, if I bring the base mesh into Zbrush and make each morph target on a layer, I can reverse the strength to minus to reverse the morph. So a narrow nose becomes a wide nose :smiley:

I was wondering if you know how I should go about adjusting hair styles to the size of the player. If I have say ‘fat man morph’ and then I use a hairstyle which is meant for the standard man, then do I need to make a fat man hair morph as well?

Many Thanks :slight_smile:

If I have say ‘fat man morph’ and then I use a hairstyle which is meant for the standard man, then do I need to make a fat man hair morph as well?

It’ll depend on the meshes and setup, but if the head is going to be changing much, then yeah, you’ll want each attachment item to have morphs for each body type. This also goes for body attachments.

About the zBrush trick, that also depends on face normals I believe. So the wide nose might not turn out right, but I guess you could use it as a starting point.

[QUOTE=LoTekK;13412]It’ll depend on the meshes and setup, but if the head is going to be changing much, then yeah, you’ll want each attachment item to have morphs for each body type. This also goes for body attachments.[/QUOTE]

Thanks, I’ll be trying it out to see what works I guess!

[QUOTE=dgovil;13412]About the zBrush trick, that also depends on face normals I believe. So the wide nose might not turn out right, but I guess you could use it as a starting point. [/QUOTE]

Your probably right! It will most likely give a weird looking pose but like you said it could be a starting point and hopefully speed things up!

I’ll have more questions coming up very soon I’m sure

Hey folks

Long time no post for me sorry… I’m excited to share my 1st major practical milestone. Some will be very trivial but I believe that I’ve achieved a lot thus far.

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

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

[ul]
[li]Texture pale and tanned diffuse maps of the character so that I can hopefully make a blend system in the material editor[/li][li]Texture hair and clothing[/li][li]Texture two tattoos[/li][li]Sculpt an example of wrinkles, a scar and an older complexion. Then bake normal map overlays[/li][li]Setup shaders for all textures[/li][li]Rig and skin with standard biped[/li][li]Final prototype either in Matinee/Kismet or build a GUI using scaleform![/li][/ul]

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.

Many apologies for the large images!!

Got a small but cool update!

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!

Long time since a post, hopefully if anyone is still interested in looking at my demo video for this system!

I would appreciate any comments at all from you folks =)

Many Thanks!!

The final prototype!

Hopefully someone will like it :wink: