gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Character skinning

#125283 - M3d10n - Thu Apr 12, 2007 3:37 pm

I'm going to start working on a game with 3D characters over 2D backgrounds, and I'd like to know what is the recommended approach for skinning the models.

Is smooth (3-joint per vertex) skinning viable at 30fps? How exactly do you do the hardware skinning (I know it involves saving the matrix calls directly in the display lists, but how do you update the matrices?)

#125758 - silent_code - Mon Apr 16, 2007 6:25 pm

my recommendation: don't worry about displaylists untill you get the concept running on the hw.

#125799 - ikaris - Tue Apr 17, 2007 3:38 am

Don't even start thinking about 3 joint per vertex.

One joint per vertex is your only real viable option with the capabilities of the hardware.

And I'll tell you from experience... with the size of most characters, and the resolution of the DS's screen... you won't notice the different between 3 and 1 anyway.

#125811 - sajiimori - Tue Apr 17, 2007 6:24 am

None of our games use weighted vertices. It would be nice, but animation is already expensive.

#126224 - M3d10n - Sat Apr 21, 2007 2:56 am

ikaris wrote:
Don't even start thinking about 3 joint per vertex.

One joint per vertex is your only real viable option with the capabilities of the hardware.

And I'll tell you from experience... with the size of most characters, and the resolution of the DS's screen... you won't notice the different between 3 and 1 anyway.


Our 3D artists will be pissed. Heh. But you're right, I loaded a test model and re-skinned it using 1 joint per vertex and it looks acceptable. Seems some quick tweaks and maybe adding two elbows instead of one per arm will suffice.

This is good news because I can get away by using the matrix stack to transform the vertices instead of writing skinning code. More time left for other stuff!

Thanks guys, I owe ya one.

#126301 - 3D_geek - Sun Apr 22, 2007 1:07 am

It really does take some mental down-shifts to get things on the DS - it's amazing how little quality is needed on such a tiny screen. I built models for my game in three levels of detail - ended up only using the lowest level models - then building two more yet-lower levels. Textures in particular can be incredibly low resolution and still look OK. So, yeah - single matrix should be fine.

#126505 - M3d10n - Mon Apr 23, 2007 10:45 pm

Wow. Good advice. I'm thinking of suggesting (aka: commanding) the 3D guy to keep a 256x192 preview window always open and using that as the reference when modeling. Should help keeping polycounts down.