3D models with animations in DX11

I am about to port a project from DX9 to DX11 the project use Collada animations, but as var as I know collada does not support animations in DX11 (and as I understand it from more knowledgeable people, collada kind of suck anyway).

so how do I get animations into a 3D model that I can use with DX11?

assimp animation node for that, but it’s bit tricky to setup…

Hi sunep,
The many requests for the topic motivated me to update the contribution


Here you should be able to just drop your exisitng file inside if it worked before because it sitll uses the dx9 collada node.

At the time when we needed it the assimp nodes still could not do animation. however check out microdees emeshe droid girl example to see the new nodes in action

Hi Teckor

I checked your contribution out, but it have some limitations for me, as I am not using skinning animations, but animating the “regular” transforms. and your translation from DX9 to DX11 is no good here since the there is no way of getting the bin size of the subsets of the mesh.

so I am still looking, it doesn’t have to be collada, but could be FBX. but I am struggling a bit figuring out how I can import an animation from an FBX-file.

collada still most relible solution, i know vux started to work on FBX support however u can use assimp animation nodes, here is patch illustratin transform animation

sunep.rar (30.5 kB)

ai sune, without having understood your particular problem in detail…could this be of any help? (2.8 kB)

@joreg, no because that way will not keep the subsets of the model, so the individual animations will not work or they will animate the whole model the number of times there are animations.

did you check? dx9-mesh-subsets are translated to dx11-geometryslices. is that not enough?

converting dx9 mesh to dx11 is pretty ugly, don’t do that even for every frame ugh :P in assimp there’s a pretty straightforward animation pipeline where you can get animated transforms via animation channels. checkout emseshe examples for a working instance or i don’t know what tekcor’s assetsdb-dx11 is using but most probably the same.

there is this shit with aassimp animation that u have it in local axis orientation of ur 3d package, still could’t find way to fix that other then by hand…

So you have to convert between object and world space with transforms still waaaay much nicer than dx9 to dx11 hackery

I got an example patch from antokhio, I can post an updated version of it once I nail the scaling of stuff

think the problem is that world transform gives u scale 0 if u have animated objects…

i didn’t experience that yet, but that’s still not an excuse, use decompose and scale your own. unless you have like 100 trees with 200 bones each for the branches animated for wind motion, but then you have to use other magic optimization on gpu with the animation :P.