Week 6 Objectives and Game Construction: Character Customization


Quick update of what happened last week and other shader-related stuff.

So the homework questions got a base XP!  This really made my weekend happy, I can now attempt more questions and be motivated to complete them other then the normal intrinsic psychological motivators the added XP gives me that extrinsic motivator I needed to drive me to complete those questions.

I put a slight hold on the future reading of the CG book to get a few easy questions complete for class or the tutorial so that will fill my shader appetite for this week.  Aside from that I will try to finish the CG text over the reading week in between my preparation for the 3 mid terms.  I am extremely thankful that we do not have mid terms for Game Design and Intermediate Computer Graphics.  That would have been brutal.


Game Construction: Character Customization

Last week I said I would blog about Procedural Animation, however I did not get a chance to get any example’s to share to help my blog.  In any case my short attention span found something more interesting, this awesome video of character customization from EVE online! (watch in HD)


  • It seems like the player hovers their mouse over control points to modify the mesh
  • The player is able to drag, pinch and pull vertices to effect the mesh
  • The hair seems to be another model on its own while having its own physical properties in terms of adjustments and colour
  • The body customization is pretty amazing, being able to adjust so many human proportions so easily.  This is the best character customization I have seen in a game yet.
  • The clothes also seem to be an object on its own

Here is another example that I would like to breakdown from Skyrim

  • The part that we care about starts around 2:20
  • In comparison to EVE’s customization, Skyrim’s system uses sliders for pre-sets.  It seems like they just load new models for each physical change to the model and modify the texture map on other sliders
  • The Skin tone slider adjusts the texture map while the weight slider makes the mesh look bigger and scales it up
  • When the player adjusts more physical features of the face, it seems like he just applies a transformation to control points on the face mesh that are saved to a default state when playing the game
  • Skyrim’s customization is mainly on the face of the avatar as opposed to the entire body


EVE’s character customization is similar to a terrain editor or a modelling program where users can physically edit the mesh of an model.  However the user interface is much less complicated then a modelling program but still has several tools like SPORE’s creature creator tool.

 The developers would place control points in areas and have a minimum and maximum of edits the player can do to each control point.  While this is similar to a slider, it works well only on PC’s because of the mouse input and not so well on console because of the analog sticks and d-pad.

In terms of how they did it, for areas where they wanted to pull geometry closer together, the control point would push vertices closer together or farther apart depending on the user input.  The more complicated thing is how they managed to get the texture map to edit with the model.  When the user edited the lips and eyes, the texture moved along very well with the model.  I think that the same control points were mapped to the texture map to produce these results.

Closing Statements

As we can see, a simple tool like a mesh editor can be used as a tool for character customization.  If someone were to get a skeletal animation system working, all they would have to do is create a joint system for editing the mesh and make those joints the control points for the user.

Another way to do this using morphing between OBJ files is to use a slider like in Skyrim and have a combination of models to use as a canvas.  Buy adding more adjustments to that model the user can save them and export that model to to used for the main player avatar.


Thank you for reading