nextr3d / Character-UI

Blender add-on for creating simple yet functional UIs for your characters.
Apache License 2.0
61 stars 4 forks source link

Keyframing outfits doesn't work #11

Closed API-Beast closed 3 years ago

API-Beast commented 3 years ago

You can insert Keyframes for the different outfits, but when playing the animation the keyframes only affect the UI without showing/hiding the different outfit parts as when you click on them.

nextr3d commented 3 years ago

I know about this since the first version of the UI but with the current implementation of outfits I'm not really sure how to fix this.

There is a way how to make outfit's visibility animate-able and that's with attributes.

So the solution to this bug might be treating outfits as attributes but just in their own panel. Only thing stopping me is that the UI currently does not support nesting of attribute groups and that attributes can not really take values from other attributes and considering the value as an alternative input.

But the real question is is this really needed? Might I ask why do you need that? I guess it should work because the UI can be key framed but the issue here is that Blender is not calling the update function for some reason.

So in conclusion I definitely want to improve this area of the UI but it might happen once I finish the nesting and overriding attributes.

API-Beast commented 3 years ago

I'm still not 100% sure what I need. Basically what I was looking for was a solution to switch between different body types, clothes , weapons and weapon skins. So I looked through existing characters online with an Character Skin-UI and one of them happened to use this one and it caught my attention because it does a lot automatically (the others all used hand-edited Rigify UI panels). Before that I was experimenting with custom properties and adding drivers to the visibility properties of the objects.

I think UI wise this would already be great for at least switching between different sets of clothes, though having to keyframe the visibilities instead of the "slots" is a bit unintuitive. The reason why I need to keyframe in the first place is because I need to automate the rendering of different combinations.

nextr3d commented 3 years ago

Okay this makes sense when you need to render different combinations.

For now you can launch the UI Debugger, create a new Attributes Group, call it something you like to make it clear, for example Variations. Than you can right click one of the clothing pieces visibility in the outliner and click Add new Attribute and find the group. Than you can sync the rest of the objects to this one attribute.

This attribute should be animate-able just fine or at least it worked for me.

If you are lost refer to this wiki

nextr3d commented 3 years ago

I have finally made the switch to drivers and outfits are now fully animate-able! Also hairstyles are animate-able too because they too use drivers and if the hairstyle contains name of the outfit it will automatically change too unless you click the lock icon which obviously is animate-able too.

The new version is not ready yet and lacks some features for now but you can track the progress in the addon branch.