Skip to main content
GameDev.net gamedev.net
🔒 Locked

3D models animation

Started by iskatsu Mar 22, 2013 at 5:31 PM 6 replies 8.5k views
Original Post
iskatsu
iskatsu

Hello guys.

It is strange, but I can not find any good tutorials about 3D model animation implementation in DirectX 10-11 and C++. I wonder how does animation data usually being stored in files, should I use dynamic vertex buffers or there are other widely used techinques out there? Could someone provide some indepth information on this subject?

Anddos
Anddos

www.braynzarsoft.net

:)
iskatsu
iskatsu

www.braynzarsoft.net

Thanks for responding. But the only tutorial I can see on this site is about font rendering engine.

iskatsu
iskatsu

Noone have ever implemented animation? Come on guys, share your knowledge! =)

Steve_Segreto
Steve_Segreto

The question in your first post is a bit contradictory, you ask "I wonder how the data is stored in files"? Then you move on to asking about whether you should use a dynamic vertex buffer, etc.

Storing animation/skeleton data in a disk file often does not translate directly into any particular rendering API (though sometimes it does for optimization, like on the Wii).

Anyway, it's still hard to answer your question because a "sample" type of answer will not be very scalable to your particular needs. Additionally, cutting and pasting some highly engine specific and application specific code snippets also doesn't do much good.

What have you tried? How well do you understand the concepts of skinned character animation and skeletal hierarchies? Start with Frank Luna's excellent PDF to get the basics down and then you should be able to pick the API du jour to accomplish what you want.

http://mathinfo.univ-reims.fr/image/dxMesh/extra/d3dx_skinnedmesh.pdf

Don't let the D3D9/D3DX throw you off. Learn the concepts then you can translate them to D3D11 and XNAMATH very easily.

VladR
VladR

Are you sure you want to go for IK/FK ?

There is another option for you - frame interpolation where you have basically all frames exported as a 3d mesh from your modelling SW and just interpolate between last and current frame in the vertex shader.

This is drop-dead easy to implement and you don't have to bother with skinning. Depending on style of the game, you might not need IK/FK.

As for the duplicity of the data - that's what the vertex compression (store normals as Bytes, not floats) and vertex streams (e.g. for UV) are for.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.