Week 6 Objectives and Game Construction: Character Customization

Hello!

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)

Goal

  • 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

Breakdown

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

-Moose

Week 5 Objectives and Mesh Skinning/Skeletal Animation

Heyo!

I’d like to start by saying that I am behind on my work.  I am behind on not being ahead? Paradoxical.  I had hoped by this time I would have been fairly far in my understanding of shader programming, however I have only managed to finish up to chapter 4 in the CG textbook after going at it from Friday till tonight.  However last night I did have a huge discussion with one of my roomates for about 5 hours about “Procedural Animation”.  I might blog about that next week since it is something I would like to research and implement in a game one of these days.

Skeletal Animation/Mesh Skinning

This week a spent a bit of time researching on how to properly rig some of our characters to a joint system so we can use an animation blending system using BVH files rather then keyframing everything.  Our end goal is to head into the motion capture area in the game lab and record some stuff to incorporate in our game.  Worse case scenario we will use Pinocchio to automatically rig our characters. However when we tried using it last semester we ended up having several problems with and ended up wasting time debugging.

That is a pretty big scope to measure up to if we don’t get skeletal animation working.  I understand the concept and have found some base code online for how to create a base for our skeletal animation which is not to bad, however the only problem is weighting the joint structure to the mesh.  We tried exporting that from Maya and that was causing some issues.  It would be best if we could export the weights/mesh from Maya, load the BVH and perform our mesh skinning.  However I ended up pausing that research since I read a few articles on performing the mesh skinning by using the GPU and thought it would be better to do that.

I did find a decent 2D Bone System tutorial on GPWiki, however their 3D one is not yet completed.

Goals

Overall this week I caught up to the tutorials that we have done in terms of knowing what the CG code does, however I am not yet at a point to complete any homework questions.  In the next few days I hope to catch up with the lecture material (lighting/diffuse/specular) and demo homework questions M2 and M3 (toon shading and diffuse/specular/distance light in both vertex and pixel/fragment shaders).

I also feel I should be able to complete the E8 question to make an object glow like in Batman: Arkham City.  I assume that the professor means this (http://youtu.be/YrWWUlgoLzQ?hd=1&t=3m25s) when the enemy character has a green glow that ripples down his body.

I am probably undershooting my scope a bit here with the homework questions, but in order to accomplish them I have about 60 pages of reading to get through.  Unfortunately I am a slow reader, add debugging to the mix and that will take some time.  Now instead of writing about reading it I am now actually going to get started on it.

Summary

I need to be more productive and power through these CG tutorials to get some XP in the next few days. 3 chapters down 7 more to go!

Thank you for reading,
-Moose