Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

procedural character generation

Discussion in 'Works In Progress - Archive' started by FernandoRibeiro, Oct 5, 2012.

Thread Status:
Not open for further replies.
  1. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    (07/24/2013)

    Hi there guys! Please take a look and give me feedback about UMA beta test website. =D

    http://fernandoribeirogames.wix.com/umabeta


    Download links are not set. I´ll update pack in following hours.


    (07/06/2013)

    The beta starts today.
    As I´ve been rewritting most of the code those last weeks, I fell like it would be fair to bring this beta for everyone, so with no more delays, here we go! Download link -> https://dl.dropboxusercontent.com/u/3217895/UMA_Files/UMA_Beta_Pack.unitypackage

    There are still some known bugs, and some features won´t be available right away, but I´ll keep updating the project and list the changes.

    I´m also recording videos explaining how UMA works as the final documentation will be available closer to the final release.

    The raw files will be included with time, but keep in mind there are many changes being done. This means topology, rig and skin might change, so it´s not adviced to start producing final content yet.

    The same also applies for code. This is WIP, so it´s not recommended including UMA directly into a project under development.

    Until I get a webpage to center content for Beta, let me list the known bugs/limitations here:

    - Mixing slots that uses different shaders mess with UV calculation. Until correcting this, it´s recommended to add all slots sharing the same shader in sequence.
    - overlay rect generates different behavion on Indie and PRO. Until then, overlays might need to keep the same size as base textures.
    - White border on female hair 02 without using atlas sharing will be handled with a proper alpha channel.
    - Atlas is not optimized and might not bring most efficient solution.
    - UMA serialization will be rewritten considering the adjusts I´ll handle this next week. Any multiplayer/mmo dev planning sharing data between client and server, please keep an eye on umaPack() that will be included.
    - UMA still only works when the game is running and resulting UMA still can´t saved. This will be handled together with serialization.

    Below is youtube playlist for UMA videos.
    http://www.youtube.com/playlist?list=PLdZIOhsqZ1j7Q3nHM_7WUxnt7fur0kQbp

    Cheers!





    (07/02/2013)
    Ok guys, time for some big news =)

    I´ve just finished rewritting the atlas solution + overlay calculation and would like to share a bit of how it works with you. With this, we are very close to beta :)

    As you can see on below image, we have two female avatars and their diffuse atlas. All color from skin/clothes is calculated, the same applies for normal maps, specular data and any extra textures (I still need to handle adjust per overlay).

    One nice strategy that I´ve been playing with for saving texture area is using the overlay technique even on extra 3d meshes. You can identify on second female that her jeans is being overlayed, while the shirt isn´t. This is specially powerful to reduce memory usage and even to get a better transition between the content and base mesh. I´ve kept the shirt as a separated atlas section to bring a better contrast on the two possibilities.
    You can also notice the same applies for hair on both of them :)

    I´m using Jukka Jylänki's algorithm http://clb.demon.fi/projects/more-rectangle-bin-packing for Texture atlasing, ported to c# by forum member @mudloop http://forum.unity3d.com/threads/130376-MaxRectsBinPack-C-port-useful-for-creating-Texture-Atlases.

    Hope you guys like the update :)




    New webPlayer from @UnLogick (06/30/2013)

    WebPlayer Link -> http://glscene.com/unity/CharacterCustomization/UMA_Japan.html




    Updated WebPlayer (06/27/2013)
    @UnLogick Post:

    I've worked closely together with Fernando to create this webplayer. It contains the main features I really wanted to see from the system.

    Customizing the shape
    Customizing the colors
    Adding props overlays and meshes
    Lightning fast reaction to changes!
    1 Draw call for the entire character! All changes are baked to the atlas.

    WebPlayer link ---- > http://glscene.com/unity/CharacterCustomization/UMAWebPlayer.html



    You can rotate the camera by dragging the mouse while holding right mouse down, if you don't have a right mouse button you can use left mouse button together with CTRL or COMMAND. On windows you'll see a texture bug while resizing, this is because under directx render textures becomes corrupt when the device is lost, to avoid that issue you can convert the render texture to a Texture2D, it takes a bit more time but then you don't see that flicker.

    After being able to present this webplayer I think its fair to call it beta ready. But as I said variable renames will cause you to loose all data. So enjoy the webplayer while you wait.

    Word of warning I managed to crash Chrome with it, so I instantly pressed the Submit crash report. Please, please. pretty please... if you too manage to crash your browser with this beta webplayer do submit the crash report I will be looking at it personally.


    Updated Video (06/06/2013)


    Updated images (04/12/2013)
    (Right click to get high resolution image)

    High poly female sculpt.



    Real time female head, using skin shader.



    Updated images (02/15/2013)

    Some tests of cloth and shape variation. This cloth piece was a fast test, you can expect better quality content on final version.

    (Right click to get high resolution image)

    HighPoly version:


    Testing variation of texture resolution, 4 different resolution combinations.


    Each of those guys generates only one draw call. Of course adding lights / shadows adds more drawcalls.



    Updated images (01/12/2013)
    (Right click on images to get full resolution version)




    human zbuilder normal maps used on prototype.

    Updated news (12/11/2012)
    I´m working with the asset store team to bring a more complete avatar system.
    For now, there´s not much more I can tell, but i´m very happy with how this solution is evolving! =D


    Warning: Webplayer contains nudity

    Webplayer link -> http://huika.com.br/eve (old demo, not updated)

    First video -> http://www.youtube.com/watch?v=AGOxHTAIX-w


    Second Video -> http://www.youtube.com/watch?v=E400OVxBjT0


    Hi there!
    I´m developing a procedural character generation solution, and would like to show what I´ve reached so far.
    Right now I´m working on clothes and hair / facial hair.
    I´m still working with only one male/female normal map variantion. When I generate more of them, it will be possible to get more character variations, the same apply to skin color and other important elements.
    For now, there´s only one LOD, but I´m also considering the generation of mesh complexity variations (this one is ~2500 vertices).
    I would love to test if my solution works well together with Mecanim and directx11 hair, I´m just waiting to have acess to the trial :)
    I´ve been working on this for about 2 months now on my free time and both art and programming are done entirely by me.
    All textures are generated at 4096x4096 for extreme quality and flexibility, and reduced for this webplayer demo.

    Please, fell free to ask me questions and give me some ideas =D

    The webplayer tech demo generates 25 random characters each time the player is loaded, and the one in center can be edited using the sliders.
    All GUI is just placeholder ;)
     

    Attached Files:

    Last edited: Jul 24, 2013
  2. tylernocks

    tylernocks

    Joined:
    Sep 9, 2012
    Posts:
    256
    add some clothes man, a warning or sometin'
     
  3. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Sorry, didn´t considered that!
    Done
     
  4. Sir-Tiddlesworth

    Sir-Tiddlesworth

    Joined:
    Oct 19, 2011
    Posts:
    908
    Clothes are for the weak!
     
  5. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Render of two High poly models that generated the normal maps:

     
  6. Schlumpfsack

    Schlumpfsack

    Joined:
    May 30, 2010
    Posts:
    608
    this looks exellent (and i don't only mean the models ;) )
     
  7. Joppel

    Joppel

    Joined:
    Aug 4, 2012
    Posts:
    34
    Very cool function.
    One thing I really reacted to though was the extremely pronounced normal map.
    Sure one might want a zero body fat character now and then but as you have the same normal map for all ranges of the bodymass slider you should make it much less defined. Or make it scale between two different normal maps depending on bodymass.
     
  8. KristianDoyle

    KristianDoyle

    Joined:
    Feb 3, 2009
    Posts:
    63
    Hey this looks like excellent work. I like the aesthetics and definition on these characters - and with lots of detail. You probably are aware of the make human project for generating procedural humans. Took them many years I think to achieve good aesthetic results - their aims are ambitious though. For mecanim compatibility I guess you should follow the Motion Builder skeletal standards which are quite flexible. You can go with a fairly simple skeletal , with mit hands, up to ones with spine chain, full digits toes/fingers, roll bones, hand mid bones etc .. then there are character extensions .. not sure if mechanim is going to support those.

    Also I think a good reference for skeletal / motion considerations might be the 'parkour' guy in the latest beta. He seems to have great form and skeletal setup / binding for realistic human motion.

    Quite humerous how you've chosen a certain stage of 'feminine' to cover up the nipples.
     
  9. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Lol

    Looks nice : )
     
  10. dyox

    dyox

    Joined:
    Aug 19, 2011
    Posts:
    619
    OMG ! They want to kill me in my sleep!

     
  11. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Thanks a lot =D
    It's just the beginning
     
  12. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    I completely agree with you, thats why I'll generate a LOT of normal map variations.
    For now, I'm not considering transition between normal maps, but it's also something I probably will test in the future.
     
  13. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Make human was one of my biggest inspirations, followed by the mmo character creation systems.
    In my case, I've been working on this project for 2 months now, solo, on my free time. Developing this to realtime and crowd simulation is the big challenge.

    About Mecanim, as soon as the trial version is available, I'll test it! Having all characters in combination with all possible motions is a very powerfull resource for game developers! =D
     
  14. coAdjoint

    coAdjoint

    Joined:
    Jul 18, 2012
    Posts:
    162
    excellent work, looking forward to seeing how this ends up
     
  15. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Wow! Thanks a lot! It's great to hear this coming from you guys! : ))
     
  16. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    As soon I've implemented their staring eyes, my nightmares began lol :)
     
  17. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Man thats looking awesome. Same comments as everyone else more normal maps. But how come the character get female breasts as soon as you touch the gender slider?

    What I wouldn't give to have something like this in our mmo. Well I'd need a fantasy variation pack on top, so that might be a long shot. And for mmo I'd need low poly. But its nice to see someone working on this.

    So what are your plans on pricing and stuff?
     
  18. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Thanks a lot for the nice words =D
    In fact, Gender won't be a slider in the future, just male or female.
    I'm working on a flexible solution, so that we can have medieval games and even futuristic ones :)
    Considering multiplayer, I've already implemented everything so far planning how to reproduce the same char setup in all necessary client machines. That's in fact the easy part. What will probably bring me headaches is memory management when we have a lot of content.

    About pricing, I have no idea by now, but I'm not expecting to get rich lol
     
  19. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I wouldn't think memory management would be your headache... more like mine. Obviously each model takes up some resources. What's important is that we can ask you to generate a lower ql model and tell Unity to release the old model. I would expect you to have like a struct containing all the character settings, thats the one you need to pass over the network. And then a struct with quality settings like triangles (low, medium, high), texture size, normalmap size, etc. Alternately you could add shaders and do a blend between a few reference textures. That would suit my mmo well, but might limit the flexibility to use custom shaders.

    I wouldn't mind hacking a blend shader with a subsurface shader to get the effect I wanted, but I guess most people would hesitate before doing that.
     
  20. Aurore

    Aurore

    Director of Real-Time Learning

    Joined:
    Aug 1, 2012
    Posts:
    3,106
    This is some seriously impressive stuff, I can't wait to see clothes and hair added!
     
  21. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    your headache is my headache :) I want to get my solution as optimized as it can be, so that in the end no one have problems with memory and performance.
    Right now, without further optimization, I'm able to get 169 chars at stable 60 fps using a modern machine, but more tests are needed after cloths and other features.

     
  22. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    169 characters is that the next gen of raids?

    Damn I think I might need to step up my game I was thinking a pvp raid more like 30 vs 30 or something...

    I think you should add a toggle to remove all the other chars so you can actually see the character you're editing.
     
  23. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    "toggle to remove all the other chars" -> I'll add this in the next version, point taken :)
    30x30? You might like to see this other test of mine to consider bigger possibilities
     
  24. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    To be honest I'm more worried about network.

    It can be done but I'm not sure its worth it, 30 vs 30 should hold up a bit longer. :)
     
  25. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Oh, got it! :)
     
  26. Veqtor

    Veqtor

    Joined:
    Apr 17, 2012
    Posts:
    21
    Wow, awesome work. This has been needed for some time now! How will clothing work?
     
  27. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there Veqtor!
    Great question :)

    There are at least two main different types of avatar patterns developers will need:

    One that have a modular structure like : Upperbody, lowerbody, foot, hand and head.
    Other more like: Upperbody+hand, lowerbody+foot , head.

    This means that in one case you can combine at least 5 different modules, while in the other case, 3 different modules.
    Each module is a cloth piece. One case gives you the chance for example, to have a jeans for the legs, while not wearing shoes, while in the other case, you necessarily would be using jeans + shoes.

    All cloths, considering both actual and medieval possibilities are a combination of a Avatar cloth mesh, that adapts to the avatar body, in composition with a texture that gives variety, like what is happening to the avatar itself.
    The good side of that solution is that all cloths can be used in junction with all avatars, and gives the freedom to developers to edit the cloth texture to generate variation and a unique feel in each game.
     
  28. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    A small update: First test with short hair.
    I´m still not happy with the results, but I believe it would be a good idea to post images of the progress.
     
  29. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Here´s a first step of cloth creation, I´m having some tests with scanning cloths using a kinect :)
    This is a raw result, without any modification.
     
  30. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    You may not like that hair but I think it looks pretty cool already. Not bad for a first iteration. :)

    Looking forward to see what you come up with clothing wise, raw scan looks usable... interesting idea with using a kinect for cloth input, now that's what I call to personalize your avatar... :D

    Keep it up. :)
     
  31. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there UnLogick!
    Thanks for the nice words :)
    I´ll be able to post a updated webplayer with some cloth and hair tests in the next days.
    I will keep you all updated of all improvements. =D
     
  32. Veqtor

    Veqtor

    Joined:
    Apr 17, 2012
    Posts:
    21

    Cool, what program did you use for 3d scanning with the kinect? Is it hard to clean it up? Looks like a cheap way to get good textures.
     
  33. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there everyone :)
    I just wanted to update here with the work done so far on the jeans model.
    Here´s a lowpoly version, already skinned and imported to Unity. There are still many adjusts to be done on that one.
     
  34. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there Veqtor, for textures, I would recommend 123catch and photoscan. Take a look ;) both of them generates 3d models based on photos, so you get more resolution. I´ve also used 123catch for getting a better texture to the jeans.
    But both those two and kinect scanning generates a lot of noise, so there´s a lot of retopology, cleaning up and closing holes involved.
     
  35. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there =)
    Here´s today update on Jeans.
    I´ve redone all texture based on High quality photos, and sculpted some detail.
     
  36. Codetastic

    Codetastic

    Joined:
    Aug 13, 2012
    Posts:
    23
    Oooh this looks like it is coming along nicely! And it might just be the first thread I have subscribed to.
     
  37. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    WOW!

    Just, WOW!

    This would be perfect for a zombie game!
    I do have to say though, some of the guys look like they have boobs and some of the women look like men. Just like real life though, I suppose.
     
  38. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    =D
    Thanks a lot!
    A lot more coming this weekend ;)
     
  39. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    I do agree with you, I´m still working a lot on normal maps and geometry to get both flexibility and a better silhouette.
    I´ll also take a look at the male diffuse texture, to give a better distinction between female and male boobs.
     
  40. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there,

    I´ll be able to post more updates at the weekend, but probably won´t have access to the forum until then.
    As soon as I can, I´ll answer any new posts :)
     
    Last edited: Oct 12, 2012
  41. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!

    I´m back after a long time without internet and a dev computer (even not being at Amazon rainforest :) ).
    I´ll work hard to recover the time I couldn´t be developing.
    Hope you will enjoy the next updates.
     
  42. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Getting back :)

    Here´s some first test with skin tone variation.
    Still just random, later on I´m considering more controlled variation based on ethny.
    Don´t think I´ve forgot the todo list based on your comments, it´s gonna be on the next updates =D
    -toggle to remove all the other chars
    -I'd have another look at the muscles of your characters - especially on the bulkier males around the elbows, the brachialis is waaaay too big and bulky.
    -some of the guys look like they have boobs and some of the women look like men

     
    Last edited: Oct 18, 2012
  43. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    I´m in love with mecanim =D

     
  44. fano_linux

    fano_linux

    Joined:
    Jan 1, 2012
    Posts:
    909
    Nice to see more brazilian guys working hard on unity... Very good job man..

    Abraços
     
  45. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Thanks a lot =)
    E vamos que vamos! ;)
     
  46. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    Are you planning to do some medieval kit like arteria3d and poboczny are doing?
     
  47. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there l0cke,

    For now I'm working on modern clothing, but keeping in mind the possibility to work with medieval and futuristic cloths also.
    This week I've spend most of my free time studying surface shader programming, so that I can reach some efficient solutions both for facial hair and cloths, and mecanim, so that my character system is able to use any animation.

    In the upcoming days, I'll manage to return to content creation.
    Thanks for the question! =D
     
  48. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Two updates:

    First one -> Started testing performance in IOS, aiming iPad first generation as base hardware.


    Second one -> Results based on my shader studies. For now it´s just some tests for fun, but the same method will be used for tatoos and other costumizations.


    Hope you like it! More updates comming soon!
     
  49. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    One more =)
     
  50. Broken-Toy

    Broken-Toy

    Joined:
    Jan 16, 2010
    Posts:
    455
    Last edited: Oct 24, 2012
Thread Status:
Not open for further replies.