Freelancer Union Forum

CCP Announcements => Dev Blog => Topic started by: CCP on December 07, 2010, 07:01:47 pm

Title: Character Creation
Post by: CCP on December 07, 2010, 07:01:47 pm
Character Creation (http://www.eveonline.com/devblog.asp?a=blog&bid=827)
7 December 2010, 3:24 pm

We figured that with the attention our character creation system has been getting lately, that it was time to write a devblog about it. There´s lots to cover, so let´s get to it!

The Carbon (http://www.eveonline.com/devblog.asp?a=blog&bid=788) Character System was made to enable us to create characters for several projects, including Eve. It started off as a design document containing various wishlist features, ranging in complexity from the simple to the impossible. I believe most of the items on the list ended up being possible, with the possible exception of essentially being able to perform a striptease with arbitrary clothing. Hmm, do they even do that in CGI movies these days? Do I really want to know?

Anyway, the system has been seen in public before, highlighing  cloth simulation (http://www.youtube.com/user/ccpgames?blend=1&ob=4#p/a/u/1/Gf26ZhHz6uM) and recently on the Singularity test server, as seen here (http://www.youtube.com/watch?v=tJ_DQFVuixM&hd=1) and here. (http://kotaku.com/5692084/this-isnt-character-creation-its-more-amazing-than-that) So what‘s it all about? Is there anything new here?

For this blog, which I hope is the first of several, we‘re going to take a closer look at a couple of interesting features of the system you‘ll have in your hands soon. There are lots of interesting (to me, anyway) things about the system to explore, but I‘ll start with what makes the faces tick - the specs of the faces and the face sculpting feature. My vantage point is right in the middle between programming and art - I do character tech art.

(http://cdn1.eveonline.com/community/devblog/2010/Caldari_Achura_thumb.jpg) (http://cdn1.eveonline.com/community/devblog/2010/Caldari_Achura.jpg)

Example Eve Character.

Making Faces Making 3D models look as good as possible can be accomplished in a number of ways, but the easiest is to simply use massive poly counts and huge textures. Getting the models created by awesome artists helps too. The Carbon Character System scales up and down easily, and if you take the time to create all the level-of-detail meshes you want, it can go from simple stick figure to massively heavy character. For character creation, we decided to do everything we could to ensure you see exactly what our artists wanted you to see, resulting in these specs:

 

(http://cdn1.eveonline.com/community/devblog/2010/Details_thumb.jpg) (http://cdn1.eveonline.com/community/devblog/2010/Details.jpg)

The models contain a lot of detail, and it‘s all available in-game. Note: There are no shadows in this shot to show everything clearly.

Those textures use up a massive amount of video memory, of course. But since we‘re not bounded by console-size memories and have the textures available at this size, and since they compress really well using lossless compression, we decided to go for it, and allow those with the hardware to enjoy it fully. And we‘re not going anywhere - in a few years, this really won‘t seem that much, so no harm in being prepared for the future.

(http://cdn1.eveonline.com/community/devblog/2010/TrailerShot_thumb.jpg) (http://cdn1.eveonline.com/community/devblog/2010/TrailerShot.jpg)

Our angry trailer (http://www.youtube.com/watch?v=ejX0Rym0NZw) guy is actually using game texture resolutions.

Touching Faces A major feature of the character system is the ability to "Sculpt" the face - pick at it, and have it react to your prodding and pulling in a way that makes sense. This, of course, needs to work on any of the faces, all of which have slightly different skeletons. This is how it came about, and is an example of how the Carbon framework can make seemingly complex systems pretty easy to make.

(http://cdn1.eveonline.com/community/devblog/2010/Blendshapes_thumb.jpg) (http://cdn1.eveonline.com/community/devblog/2010/Blendshapes.jpg)

A peek at some of our raw blendshape data. Each row represents a zone you can "touch".


(http://cdn1.eveonline.com/community/devblog/2010/Sculpting_thumb.jpg) (http://cdn1.eveonline.com/community/devblog/2010/Sculpting.jpg)

Example triangle field. Each vertex can contain any combination of A=x values. The actual fields in the nose ended up simpler than the prototype field on the left.

It took a couple of weeks of prototyping to make it work with placeholder data without feedback. Then a process of gradual refinement and fitting it into the rest of the system took place. For example, if you drag the bridge of the nose, what do you do with glasses? Shouldn't they move too? Yes, the solution is to make glasses inherit the morphs of the faces without distorting them. Not trivial to do, but nothing our MacGyver-esque tech artists couldn't handle.

Future Topics There are all kinds of other items to discuss in the future. Here are some examples of things likely to crop up:


CCP Ph00ze

 

 

Source: eveonline.com | devBlog (http://www.eveonline.com/)