Exporting APEX animations into fbx, gltf etc.
3267 13 3- sergey.mi.dev
- Member
- 4 posts
- Joined: May 2023
- Offline
How does one evaluate and export animations from APEX SceneAnimate?
As I understand SceneAnimate contains data inside folders. I was able to extract mesh and skeleton from it, which exports fine. Bones, weights, names, and other stuff are correct. But simple unpacking does not work with animations, I think they need to be evaluated and transferred on the skeleton somehow.
As I understand SceneAnimate contains data inside folders. I was able to extract mesh and skeleton from it, which exports fine. Bones, weights, names, and other stuff are correct. But simple unpacking does not work with animations, I think they need to be evaluated and transferred on the skeleton somehow.
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
Hello, I Think you can find some information about extracting animation at the end of the hive video :
https://youtu.be/2bjPTvkpNC0?t=1840 [youtu.be]
if not, you probably can put an "Apex Scene Invoke" which will translate the geometry based animation and bake them into the animation.
https://youtu.be/2bjPTvkpNC0?t=1840 [youtu.be]
if not, you probably can put an "Apex Scene Invoke" which will translate the geometry based animation and bake them into the animation.
Edited by ASquirrel - Nov. 10, 2023 16:33:23
Head of Pipeline @ LightVFX
- sergey.mi.dev
- Member
- 4 posts
- Joined: May 2023
- Offline
Hey Jacquesf, thank you for answering.
As I understand, in the video they demonstrated translating a KineFX animation to APEX. They extracted APEX control rig and manipulated it using KineFX tools and added it to APEX Scene as APEX animation, and then the scene evaluated the rig and moved skeleton accordingly. So, what I'm looking for is a KineFX skeleton, which is in scene folder, but evaluated using a rig. Like Apex Scene Invoke, but one that exports skeleton rather than geometry.
Also, APEX Control Extract does not output animated rig controls. In scene we have animations in animation folder, it looks like channels for controls, maybe it could be animated with them and then I could somehow invoke graph on skeleton?
As I understand, in the video they demonstrated translating a KineFX animation to APEX. They extracted APEX control rig and manipulated it using KineFX tools and added it to APEX Scene as APEX animation, and then the scene evaluated the rig and moved skeleton accordingly. So, what I'm looking for is a KineFX skeleton, which is in scene folder, but evaluated using a rig. Like Apex Scene Invoke, but one that exports skeleton rather than geometry.
Also, APEX Control Extract does not output animated rig controls. In scene we have animations in animation folder, it looks like channels for controls, maybe it could be animated with them and then I could somehow invoke graph on skeleton?
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
Alright, I see what you mean now, I think the trouble here is that the rig of electra have not been configured to output an animated skeleton.
if you unpack the electra Base.rig and dig into the apex graph, you'll notice that only Base.shp is outputed, but not the Base.skel.
maybe an oversight from the developer, It make sense that if you wanted to further edit the animation using kinefx or export it you'd want to export the skeleton animation and not just the shape.
I've attached a simple scene with an apex graph that will connect the skeleton to the output as an exemple.
ps : you might have to use the reset button on your sceneanimate for the change to take effect, you'll have to play with the "Reset Custom" to keep your animation intact.
if you unpack the electra Base.rig and dig into the apex graph, you'll notice that only Base.shp is outputed, but not the Base.skel.
maybe an oversight from the developer, It make sense that if you wanted to further edit the animation using kinefx or export it you'd want to export the skeleton animation and not just the shape.
I've attached a simple scene with an apex graph that will connect the skeleton to the output as an exemple.
ps : you might have to use the reset button on your sceneanimate for the change to take effect, you'll have to play with the "Reset Custom" to keep your animation intact.
Edited by ASquirrel - Nov. 11, 2023 10:21:15
Head of Pipeline @ LightVFX
- sergey.mi.dev
- Member
- 4 posts
- Joined: May 2023
- Offline
I examined your example, the fix is really simple. Thank you very much.
I've tried using Base.skel as output in scene invoke but it was not working. Now I know why.
I hope developers will add a skeleton as output to Electra's rig, so that it would be easier to start testing animation workflow for game developers.
I've tried using Base.skel as output in scene invoke but it was not working. Now I know why.
I hope developers will add a skeleton as output to Electra's rig, so that it would be easier to start testing animation workflow for game developers.
- ASquirrel
- Member
- 236 posts
- Joined: March 2023
- Offline
I assume that they don't want to override the Base.skel with animation as that would probably mess consecutive animatate node ? like it supposed to represent the 'rest skeleton', so maybe it should be saved as maibe Anim.skel instead ?
apex is still a baby so maybe even the dev don't know yet what will be the best workflow ^^
apex is still a baby so maybe even the dev don't know yet what will be the best workflow ^^
Head of Pipeline @ LightVFX
- sergey.mi.dev
- Member
- 4 posts
- Joined: May 2023
- Offline
Yeah, like Anim.skel or something like that^^
While APEX is still a baby, it looks like a really powerful tool.
It feels very flexible.
Also, quick question: how did you rename parms port to rigname?
--
Found out, middle mouse button click. If it throws error try to relaunch Houdini
While APEX is still a baby, it looks like a really powerful tool.
It feels very flexible.
Also, quick question: how did you rename parms port to rigname?
--
Found out, middle mouse button click. If it throws error try to relaunch Houdini
Edited by sergey.mi.dev - Nov. 11, 2023 13:08:46
- esttri
- Staff
- 83 posts
- Joined: May 2021
- Offline
- esttri
- Staff
- 83 posts
- Joined: May 2021
- Offline
- Max Rose
- Member
- 76 posts
- Joined: Oct. 2018
- Offline
I wanted to put in my two cents in case anybody else has trouble with this. I've recently created a custom car rig using APEX, and was able to export the model along with its animation to Unity.
I noticed I wasn't able to get the skinned geo from the unpack node (something off with my set up no doubt) so I just grabbed the original skinned geo from before the APEX setup. From there I extracted the Base.skel from the Unpack Folder.
The resulting skeleton from the unpack folder was animated, so I froze the first frame for the rest pose(totally unecessary - I could've just grabbed the original skeleton like I did with the skinned geo) and piped all three into the fbxcharacterrop as you usually would.
Kinda janky, but it worked in the end. Like many of us, I'm still figuring out this insanely powerful framework.
I noticed I wasn't able to get the skinned geo from the unpack node (something off with my set up no doubt) so I just grabbed the original skinned geo from before the APEX setup. From there I extracted the Base.skel from the Unpack Folder.
The resulting skeleton from the unpack folder was animated, so I froze the first frame for the rest pose(totally unecessary - I could've just grabbed the original skeleton like I did with the skinned geo) and piped all three into the fbxcharacterrop as you usually would.
Kinda janky, but it worked in the end. Like many of us, I'm still figuring out this insanely powerful framework.
- edward
- Member
- 7871 posts
- Joined: July 2005
- Offline
benttoenail
I noticed I wasn't able to get the skinned geo from the unpack node (something off with my set up no doubt) so I just grabbed the original skinned geo from before the APEX setup. From there I extracted the Base.skel from the Unpack Folder.
Unless you also wire these inputs as outputs, then you won't be able to get these after the APEX Scene Invoke so I think would also just pipe in the rest geometry and skeleton from before they're used by APEX as well for export.
- gavagiannis
- Member
- 3 posts
- Joined: Aug. 2024
- Offline
It would be really helpful if some things where explained in the docs.
Like how do you save only the animation of a character.
I know there is a packed "animation" folder .tried to save only that packed prim or even with all other packed prims.
I have forgotten to change the character name at the "APEX scene add Character node"
and animated my character. if I now change the character name at the add character node i lose all the animation.
That`s why i tried to save the animation and "hack" it into a separate addcharacter node with the Apex add animation node.
Thought that if i split unpack the animation primitive and change the rig_path detail attribute and then repack would do the trick.
Any help would be greatly appreciated. For now i just use the default name but i would like to know for future project how to deal with those things!
Like how do you save only the animation of a character.
I know there is a packed "animation" folder .tried to save only that packed prim or even with all other packed prims.
I have forgotten to change the character name at the "APEX scene add Character node"
and animated my character. if I now change the character name at the add character node i lose all the animation.
That`s why i tried to save the animation and "hack" it into a separate addcharacter node with the Apex add animation node.
Thought that if i split unpack the animation primitive and change the rig_path detail attribute and then repack would do the trick.
Any help would be greatly appreciated. For now i just use the default name but i would like to know for future project how to deal with those things!
Edited by gavagiannis - Nov. 20, 2024 12:01:48
- warrenl
- Staff
- 31 posts
- Joined: June 2021
- Offline
What you can do is copy the anim from one sceneanimate to another using selection sets. Part 6 of the animation workshop goes over this. In it, you can see I have different names (Electra and electra), but if it's the same character then it will have the same controls, so you can just copy all the channels from the one with the bad name, to a new chain with the correct name.
Part 6 is what you want to look at
https://www.sidefx.com/tutorials/animation-workshop/ [www.sidefx.com]
Part 6 is what you want to look at
https://www.sidefx.com/tutorials/animation-workshop/ [www.sidefx.com]
- gavagiannis
- Member
- 3 posts
- Joined: Aug. 2024
- Offline
warrenl
What you can do is copy the anim from one sceneanimate to another using selection sets. Part 6 of the animation workshop goes over this. In it, you can see I have different names (Electra and electra), but if it's the same character then it will have the same controls, so you can just copy all the channels from the one with the bad name, to a new chain with the correct name.
Part 6 is what you want to look at
https://www.sidefx.com/tutorials/animation-workshop/ [www.sidefx.com]
Ohh I feel silly! never thought that it could work like that(that`s too high level for houdini).Got to see all the videos!!!
Thanks a lot!
Edited by gavagiannis - today 05:01:26
-
- Quick Links