I have some knowledge (creating my own multiplatform library) of game programming.
I want to start delving into animation, and so I thought I'd create the first component I could think of: A limb, i guess.
What are the (minimum) necessary components in such a concept?
My take:
class Bone
{
Bone* parent;
std::vector<Limb*> children
vec3 position;
vec3 orientation;
float length;
// possibly some precalculated matrices below for reducing calculations
}
What would you further add to this? Keep in mind I have all the prerequisites (eg. quaternions)
Joints, constraints, translation vector member of Bone?