sergey.mi.dev
Nov. 10, 2023 07:47:28
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.
ASquirrel
Nov. 10, 2023 16:30:01
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.
sergey.mi.dev
Nov. 11, 2023 09:32:59
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?
ASquirrel
Nov. 11, 2023 10:19:31
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.
sergey.mi.dev
Nov. 11, 2023 11:13:36
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.
ASquirrel
Nov. 11, 2023 12:29:42
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 ^^
sergey.mi.dev
Nov. 11, 2023 12:52:49
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
esttri
Nov. 12, 2023 15:25:42
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.
esttri
Nov. 12, 2023 15:26:16
and yes the approach would always be to use the Scene Invoke SOP in order to fetch that animated skeleton.
Max Rose
Nov. 14, 2023 07:05:30
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.
edward
Nov. 15, 2023 08:02:13
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
Nov. 20, 2024 12:01:10
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!
warrenl
Nov. 21, 2024 09:43:56
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]
gavagiannis
Nov. 22, 2024 04:50:26
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!