Exporting APEX animations into fbx, gltf etc.

   1977   10   3
User Avatar
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.

Attachments:
Screenshot_1.png (23.4 KB)

User Avatar
Member
219 posts
Joined: March 2023
Online
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.
Edited by Jacquesf - Nov. 10, 2023 16:33:23
Head of Pipeline @ LightVFX
User Avatar
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?
User Avatar
Member
219 posts
Joined: March 2023
Online
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.
Edited by Jacquesf - Nov. 11, 2023 10:21:15

Attachments:
output_anim_skel.hiplc (6.4 MB)

Head of Pipeline @ LightVFX
User Avatar
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.
User Avatar
Member
219 posts
Joined: March 2023
Online
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 ^^
Head of Pipeline @ LightVFX
User Avatar
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
Edited by sergey.mi.dev - Nov. 11, 2023 13:08:46
User Avatar
Staff
64 posts
Joined: May 2021
Offline
Hi there, yes that is unfortunately a bug with the missing Base.skel output for Electra. It is already fixed and you should be able to pick it up with the next daily builds.
User Avatar
Staff
64 posts
Joined: May 2021
Offline
and yes the approach would always be to use the Scene Invoke SOP in order to fetch that animated skeleton.
User Avatar
Member
48 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.




Attachments:
Screenshot_1.png (762.0 KB)
Screenshot_2.png (84.0 KB)

User Avatar
Member
7760 posts
Joined: July 2005
Online
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.
  • Quick Links