-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UE to Rigify - Baking multiple Actions at once #95
Comments
I suppose a follow up question to this is also to ask if it's recommended to use the Send 2 UE add on when exporting these animations with UE to Rigify? I already have experience exporting blender animations without the UE to Rigify add on but if there is a reason it is recommended I can switch to that method. |
To answer the second question they should be compatible. As for the first I will need to look into that. Just to confirm the issue, you are creating multiple animations with the converted control rig and trying to bake them back to the skeleton to export? |
Yes, I made 6 animations with the control rig and when I hit bake it only does the 1 animation that is currently selected. Then to do any of the other ones I have to switch back to the control rig (which seems to create another new control rig) select one of the other actions and then hit bake again. Each time though its duplicating the animation data and after one set of baking I end up with the two users of the base animation and the SOURCE_ version of each animation. |
Okay, so I did some digging in the source code. It looks like to bake multiple actions each action needs to be pushed down into the NLA editor. I'm assuming this decision was made to give you more specific freedom to choose what all animations you bake down. But it seems to work fine for baking multiple animations at once as long as you push each of those into the NLA editor. Beyond that, it does still seem to be deleting the control rig and having to "re-convert" the control rig when you try to switch back to the control mode. Which seems inefficient. The documentation and videos Epic made makes it seem like the lock icon that should be to the right of the "Source:" was supposed to prevent that from happening. Although, the lock icon seems to be missing. |
I see, okay thank you for the info! I will be able to start looking into this on Monday. I see no reason to limit it to 1 animation so I believe it's a bug. |
Well like I said it seems to work if you push them down into the NLA editor. So currently the source code does 2 checks before baking an action. First it checks that the action is a valid action for the control rig and does not also exist on the source skeleton. Then it does a check if the action is also an NLA layer. The fix should just be to change that second NLA check to be unnecessary. Although this might cause an issue with creating duplicate animations. If I have the time I'll play around with it on the weekend and if I fix I can share the code or contribute. |
imo its a good thing to have the NLA check to avoid baking all actions but still, if you bake a big chunk of animations at once, few of them are not baked properly if you allow me, you can check this "animation manager", it helps select and push multiple animations to the NLA at once plus few other things: |
I agree it's not a bad feature to have at all. But I wonder if implementing a check box to do ALL actions or just the ones in the NLA editor would be more efficient. I don't think it should be too hard to implement that at all on a surface level. But I'll confess I haven't worked on a Blender plugin since the extensions platform. So, I'm not sure if that process is more complex now. If I can find the time and get it implemented I'll see if it could be added to this or possibly branch off if needed. |
I may not be understanding the full question correctly, but maybe this helps. https://poly-hammer.github.io/BlenderTools/send2ue/settings/export/ I believe you can use the mute values on the tracks to isolate which actions get baked over for export UNLESS the export all actions is on. Also there is an auto stash option. And this UE to Rigify extension https://poly-hammer.github.io/BlenderTools/send2ue/extensions/ue2rigify/ I thought it only synced over non muted tracks assigned to the Rigify rig but I dont remember |
Thanks. I know the send to UE addon has the feature to select animations. But this issue was with the UE to Rigify add on only baking actions added as NLA strips. Exporting isn't the issue. But that's helpful to know |
Ah ok I see what you mean |
Alright so this is what I'm seeing. Currently, UE2Rigify only grabs the object's active action (rig_object.animation_data.action). Other actions are not stored on the object so you must use bpy.data.actions to see the others. This brings up the issue of having multiple objects in the scene having their own actions, so when you look in bpy.data.actions you are seeing all actions that may or may not affect the object you are baking, thus creating blank or broken animations. This doesn't seem to be accounted for in @evilmushroom's animation manager. Please correct me if I'm wrong. Trying to think of potential issues that may arise when implementing these changes. |
Also another thing to probably consider is there is currently no support for multiple rigs in UE to Rigify. So I imagine if this ever becomes a thing we would want to preserve the current behavior of active action + actions linked to the soure rig object's NLA strips gets baked over like @JoshQuake is saying. That way multiple "source rigs" would be baking their corresponding actions to their corresponding "control rigs". Just bringing this up so we dont go to far down the road of pushing all actions over to 1 rigify rig. Because I think at some point someone will bring up supporting multiple rigs. |
When I get the time I'll try to experiment with adding that. If it works out I can send the code or branch to be considered for merging in. |
Addon: UE to Rigify
Question: is there anyway to bake multiple actions over at a time? Currently it seems like I have to bake each action over one at a time and reconvert the skeleton to rigify repeatedly. Which also creates multiple copies of the same animation data. I had thought that locking the rig with the lock icon would be the work around to this but the lock icon is not appearing for me. I'm not sure if that is a bug in the latest release or if that was removed for some reason?
The text was updated successfully, but these errors were encountered: