Data Driven Animation

Hi, I recently moved from unity to ue4 and I am doing research on data driven animation. basically, it is manipulating bone transform through given data [position, rotation etc].

This is a link similar to what i attempt to do but it is implmenting in unity.

I know there is two way to modify bone. 1. through animBP. 2. through uposablemeshcomponent

For last few weeks, I tried UPoseableMeshComponent to control bone by given rotation [tried assign FQaut and FVector(Euler) ] through parsing bvh files. But the result is not i expected.
this is what i got.

this is what it should look like in blender

I feel despair cause i been stuck on this for almost a month. The result seem partly right but I believe there is a better way to solve this. I really need an working example that can show me the correct path for manipulating bones. Any advice would be appreciated.

It’s kind of difficult to jump in your question quickly, but if you’re using standard animation assets (like, in fbx files), then, possibly, root motion settings in animation blueprint or/and animaiton asset can help you

Thanks for the advise. I did try to import a fbx motion into unreal and mark all bone’s rotation value in each frame. Then export the result as text file and read it again from another unreal editor.

This is the original motion like

This is my result read from other unreal editor

I can tell i am close to the answer, but there are some axis conversion i could not figure it out

I solved this questions. It turns out to be something really stupid. If your trying to parse bvh files. When dealing with euler rotation in bvh, you need to convert angle in bvh to radius when using this function FQuat(FVector::RightVector, (angle) * PI / 180.0) !!! this bug took me two weeks to find out, and solved in 1 minute!!!

1 Like

Sometimes it takes 2 weeks to write a line of code, but you got it done. Hopefully someone will see this in the future and maybe you can save them 2 weeks of head scratching.