Important information: this site is currently scheduled to go offline indefinitely by end of the year.

What about Bones?

Post questions about game models here, or help out others!
Post Reply
Valerian
beginner
Posts: 20
Joined: Tue Jul 19, 2011 11:25 pm
Location: Germany
Has thanked: 1 time
Contact:

What about Bones?

Post by Valerian »

I was searching in forum for bone information but i couldnt find anything.
What about the bones? how are they stored in a model? the same as vertices? with x,y,z coordinates and other things?
i would like some general information about it
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: What about Bones?

Post by howfie »

I've seen it two ways. First is a list joints along with their parents index and position and rotation transform. Second is an adjacency list representation where a list of joints where each joint stores position, rotation, and child indices. Sometimes names are present, sometimes not. Joint data, like vertex data, can be interleaved or non-interleaved. Positions and rotations can be relative or absolute.

And, some games joints are easy to extract; others hard. Depends on the engine and game developers.
Valerian
beginner
Posts: 20
Joined: Tue Jul 19, 2011 11:25 pm
Location: Germany
Has thanked: 1 time
Contact:

Re: What about Bones?

Post by Valerian »

howfie wrote:I've seen it two ways. First is a list joints along with their parents index and position and rotation transform. Second is an adjacency list representation where a list of joints where each joint stores position, rotation, and child indices. Sometimes names are present, sometimes not. Joint data, like vertex data, can be interleaved or non-interleaved. Positions and rotations can be relative or absolute.

And, some games joints are easy to extract; others hard. Depends on the engine and game developers.
okay thanks, but how are they usually stored in a model for example?
are they stored as shorts or floats? or anything else?
i can read the model in 3ds max, it works but i have 32bytes of unknown data in the model, maybe this is the bone data
Satoh
mega-veteran
mega-veteran
Posts: 194
Joined: Sat May 09, 2009 3:07 pm
Has thanked: 13 times
Been thanked: 38 times

Re: What about Bones?

Post by Satoh »

Newer games are tending toward float32s as I recall (especially PC games) but older games, usually PS2 or similar console games, use float16s for most decimal data.

I have seen one game that used int16s and did some math on the values to turn them into decimals... but I'd say your best bet is to look for 32 bit floats in newer games and PC games, and 16 bit from ps2 era games.
Demonsangel
mega-veteran
mega-veteran
Posts: 241
Joined: Fri Aug 05, 2011 9:31 pm
Location: Antwerp
Has thanked: 13 times
Been thanked: 41 times

Re: What about Bones?

Post by Demonsangel »

The bone data can be parent-child relative or absolute.
I've seen bonedata stored as Quats, Vectors + Eulers and even the full 4*4 matrices .
Sometimes in quats/eulers you have to swap values with eachother or multipy the w value with (-1).
Post Reply