Advertisement

Bone Animation, feedback needed

Started by May 10, 2020 04:08 PM
78 comments, last by Calin 4 years, 7 months ago

I`m starting to work on the system to animate 3d characters. I don`t want to use any existing animation format and I`m only looking for basic functionality. I`m not even sure how to call it/what I will end up making. I don`t want to use matrices for vertex position transformations. Anyone with experience in animation? [hopes his post passes unnoticed]

My project`s facebook page is “DreamLand Page”

A matrix is just a way of representing a mathematical function. You can represent it how you want but the systems you will be working with like shaders and graphics api's already understand the format. At a basic level, animation can just be rotating bone heads, so you start with a root and work your way along the hierarchy rotating joined bones. Perhaps give more details as to what you have done and what you expect to achieve for more help.

Advertisement

Calin said:
I don`t want to use matrices for vertex position transformations.

You're quite the contrarian aren't you?

All a 3D matrix is is 4 vectors and all a vector is is 4 floats. I use matrices all the time but they are 16 values in a 1D float array. It doesn't make any sense to avoid matrices, especially with rotations.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

TeaTreeTim said:
Perhaps give more details as to what you have done

I have a function to rotate vertices around one axis using sin and arcsin.

My project`s facebook page is “DreamLand Page”

fleabay said:

You're quite the contrarian aren't you?

No, I`m just trying to find/use the most simple solution to a problem.

At a basic level, animation can just be rotating bone heads, so you start with a root and work your way along the hierarchy rotating joined bones.

I understand that when you use bones you have groups of vertices with different origin.

My project`s facebook page is “DreamLand Page”

Calin said:
No, I`m just trying to find/use the most simple solution to a problem.

I'm not sure if you understand spoken English or not, but if so watch this, it should be cued up to 20:58 already. Please watch it to get a better understanding of matrices (specifically the rotation matrix)

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

Advertisement

@fleabay What I don`t understand about matrices is that when you rotate an object how does the computer know where the vertex origin is found?

My project`s facebook page is “DreamLand Page”

@Calin The origin is at 0,0,0. And really, there is no ‘object rotation’, all rotations are done per vertex (or per joint in skeletal animation). So a vertex at 2,2,0 has it's origin at 0,0,0. If a vertex is at 83.3, 345.3, 3.3, it's origin is at 0,0,0 also.

Also joint are parented to each other in a hierarchy. Each parent joint affects the children joints with rotation as well as translation.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

Calin said:
What I don`t understand about matrices is that when you rotate an object how does the computer know where the vertex origin is found?

How do I apply a matrix to a vertex position?

struct vertex
{
float x;
float y;
float z;
};
vertex V;
V.x = 3;
V.y = 0;
V.z = 0;
D3DXMATRIXA16 testM;
D3DXMatrixRotationY( &testM,0.50f );
V.x = ??
V.z = ?? 

My project`s facebook page is “DreamLand Page”

This topic is closed to new replies.

Advertisement