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
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
What about Bones?
-
- 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?
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.
And, some games joints are easy to extract; others hard. Depends on the engine and game developers.
-
- beginner
- Posts: 20
- Joined: Tue Jul 19, 2011 11:25 pm
- Location: Germany
- Has thanked: 1 time
- Contact:
Re: What about Bones?
okay thanks, but how are they usually stored in a model for example?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.
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
-
- mega-veteran
- Posts: 194
- Joined: Sat May 09, 2009 3:07 pm
- Has thanked: 13 times
- Been thanked: 38 times
Re: What about Bones?
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.
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.
-
- 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?
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).
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).