Jump to content

Struggling with Black Dragon Viewer's animator tool. Anyone versed enough with it to help?


LilithServil
 Share

You are about to reply to a thread that has been inactive for 351 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I've been able to keyframe the very first pose, but I'm at a loss when it comes to figuring out how to actually animate. The keyframe section seems pretty barebones with no way to extend the length between frames as far as I can tell, previewing the animation just shows the very first keyframe and not the animation tests that follow, there's no visual difference between "step", "linear", and "spline", etc.

Has anyone else been able to make anything with this? I was super excited to be able to animate in-world because QAvimator falls incredibly short when trying to animate for anything remotely nonhuman, and I haven't had much luck with blender either for various technical reasons. ; ;

Link to comment
Share on other sites

I've figured out some things but I'm still at a loss.

1: It seems you need to go through and keyframe every single part with no easy way to view them all? I don't see a way to rearrange or copy/paste frames either, making seamless looping an exercise in frustration with needing to copy and paste each individual value. I may be mistaken and hope I am.

2. Because I can't view every keyframe at once this means if I do multiple keyframes for certain body parts but forget to keyframe other body parts, the entire animation quickly becomes a mess-- I'll have 5 keyframes for the head but because I can't just have 1----->5 keyframes for the neck, it ends up being 1->2 for the neck and 1->2->3->4->5 for the head and I can't tell during what part of the timeline these actually happen?

image.png.98d6fcfe8ac838d05134b3e0144b5677.pngimage.png.98669b8a1854f9a5ac64f44059840a3c.png

^ Didn't actually "animate" anything above, just added keyframes to emphasize what I'm confused about.

Link to comment
Share on other sites

20 hours ago, LilithServil said:

I've figured out some things but I'm still at a loss.

1: It seems you need to go through and keyframe every single part with no easy way to view them all? I don't see a way to rearrange or copy/paste frames either, making seamless looping an exercise in frustration with needing to copy and paste each individual value. I may be mistaken and hope I am.

2. Because I can't view every keyframe at once this means if I do multiple keyframes for certain body parts but forget to keyframe other body parts, the entire animation quickly becomes a mess-- I'll have 5 keyframes for the head but because I can't just have 1----->5 keyframes for the neck, it ends up being 1->2 for the neck and 1->2->3->4->5 for the head and I can't tell during what part of the timeline these actually happen?

image.png.98d6fcfe8ac838d05134b3e0144b5677.pngimage.png.98669b8a1854f9a5ac64f44059840a3c.png

^ Didn't actually "animate" anything above, just added keyframes to emphasize what I'm confused about.

1) The UI is currently barebones and just functional, i have not yet worked out how the final UI (or the UI at all) will look and work like. I doubt you will ever be able to view all keyframes at the same time though, SL simply does not have any UI widgets that support this, it would require writing an entirely new UI. You can however copy/paste bone transforms from one bone to another (the animator inherits the Poser's functions, unless i broke that), select the keyframe to copy, right-click the bone and select "Copy Transforms" then select the keyframe to copy the transforms to and right-click again select paste for whatever type of transforms you want to be pasted, i do not know how well this works tho, i have not tried it (it was not modified for keyframes yet, future updates will add this however. Another way although a little "dirty" would be simply selecting the keyframe to copy, then clicking the "+" to add a new keyframe, new keyframes are always a copy of the previously selected ones, with the newly created keyframe, simply change its keyframe time to be at the end of the animation (if your animation is 5 seconds, change it to 5 for example)

2) New keyframes by default are added in 1 second steps, you can however select any keyframe and change its time to whatever you like, simply type a new float value into the text field (between the interpolation method and "+" button) then hit Enter, again this is clunky due to the UI being barebones and SL's UI simply having no way to type directly into lists, something i may or may not be able to change. The timeline works very straight forward, the "Time" value is simply the exact time in seconds the keyframe happens. 0.5 means it happens at 0.5s in the animation.

3) For an animation to properly work and display all keyframes you have to make sure the animation duration is long enough to include all keyframes, there is a quick option to automate this.

4) The difference between Spline, Linear and Step are as follows: Spline and Linear are the same (after release i saw this in the code, Spline is simply Linear sadly) Step is essentially "No Interpolation" as in it will jump from keyframe to keyframe, like old-school 2D sprites do.

 

Again keep in mind this is the very first ever release in the history of SL that we can edit animations directly inside SL, this will take some time to be fully fleshed out, get QoL features, have all bugs worked out and be something that is somewhat easily usable and even after a year or two i doubt the UI will be anywhere close to a normal Animation tool, again SL simply does not support this kind of UI design and it will be a massive challenge alone to get a semi decent UI for this. The best thing you can do is use it and give feedback: So far from your post i got -> dedicated copy/paste keyframe functions, easier way to see all keyframes, more obvious time management widgets (possibly writing directly into the list), better UI layout. Other things people have already reported is the "time" value being completely undocumented and a frame count rather than direct time value would be better (although this would require the user to do math and know how much frames the animation has and where to put them and so on unless i fill the UI with lots of statistics). Theres also more things planned like manual spline interpolation curve generation with options to change how it shall be generated, auto-fill keyframes, create keyframes from interpolation and a couple other minor things such as target framerate.

Edited by NiranV Dean
Link to comment
Share on other sites

1 hour ago, NiranV Dean said:

Again keep in mind this is the very first ever release in the history of SL that we can edit animations directly inside SL, this will take some time to be fully fleshed out, get QoL features, have all bugs worked out and be something that is somewhat easily usable and even after a year or two i doubt the UI will be anywhere close to a normal Animation tool, again SL simply does not support this kind of UI design and it will be a massive challenge alone to get a semi decent UI for this. The best thing you can do is use it and give feedback: So far from your post i got -> dedicated copy/paste keyframe functions, easier way to see all keyframes, more obvious time management widgets (possibly writing directly into the list), better UI layout. Other things people have already reported is the "time" value being completely undocumented and a frame count rather than direct time value would be better (although this would require the user to do math and know how much frames the animation has and where to put them and so on unless i fill the UI with lots of statistics). Theres also more things planned like manual spline interpolation curve generation with options to change how it shall be generated, auto-fill keyframes, create keyframes from interpolation and a couple other minor things such as target framerate.

I'll have to keep messing with it, but until further UI improvements are made I cannot see this being a tool usable for any complex animations.

Unless there is somehow a way to have a separate window/UI that looks akin to these, allowing you to see the keyframe timeline, it's going to be a constant struggle:

image.png.c836a08600d68603c021e32c84ab9844.png

image.png.0cce9199d15a61f2866159f369937b90.png

image.png.1884615d66560d653f8db9cdec7b2c2e.png

 

Another big issue that I had is that simply moving a part does not create a keyframe like it would in more "typical" animators, making the Mirror tool functionally useless. Too many times did I mirror both arms while trying to pose the left arm, only to find that the right arm (despite moving while posing) would snap back into a tpose upon previewing the animation. This actually happened a lot regardless of whether or not I hand keyframed things; more complicated parts like hands/feet would snap at weird angles when transitioning from preview back to posing, which I'd need to then go back and repose all over again.

An example of what I was trying to make was a stand animation with a couple different complex idles-- moving the head around, blinking, shifting the legs, etc. and the animation very quickly turned into a mess upon the realization that the keyframes work the way they do, sadly. I can only hope this tool is able to evolve further because the concept is incredible and I'd love to be able to animate with at least the same fidelity that QAvimator can, only in-world instead of using a generic model.

Edited by LilithServil
Link to comment
Share on other sites

2 hours ago, LilithServil said:

Another big issue that I had is that simply moving a part does not create a keyframe like it would in more "typical" animators, making the Mirror tool functionally useless. Too many times did I mirror both arms while trying to pose the left arm, only to find that the right arm (despite moving while posing) would snap back into a tpose upon previewing the animation. This actually happened a lot regardless of whether or not I hand keyframed things; more complicated parts like hands/feet would snap at weird angles when transitioning from preview back to posing, which I'd need to then go back and repose all over again.

An example of what I was trying to make was a stand animation with a couple different complex idles-- moving the head around, blinking, shifting the legs, etc. and the animation very quickly turned into a mess upon the realization that the keyframes work the way they do, sadly. I can only hope this tool is able to evolve further because the concept is incredible and I'd love to be able to animate with at least the same fidelity that QAvimator can, only in-world instead of using a generic model.

Auto-keyframing is on the list of todo's. Weird reverts come from the way animations and the SL skeleton work, animating a bone that is not otherwise animated (all bento bones) will simply remain in their last position they were in, so if you ever moved them at any point, they will simply stay that way, if you move one of the extra spine bones and you go back to posing mode it will remain that way because there is no animation overwriting it and thats where you last put it, this could be fixed with a simple "reset" after reverting back and before applying all current keyframes. Shouldn't be hard to fix.

Now the UI is going to be the biggest pain, SL does have keyframing sliders but they are... barebones and hardly useful, i will need to massively rewrite them and employ a metric ton of magic to get an UI similar to standard keyframe editors, just listing them all and having the currently selected frame sync to all of them is going to be a headache, not to mention making the keyframes selectable and then its still a matter of the looks, a slider is really not good for this and it will require some kind of "zoom" or "scrolling" so you can get closer in and mousedrag single frames easier (this one is going to be my biggest headache, i'm not sure if i can do this at all)

Link to comment
Share on other sites

13 minutes ago, NiranV Dean said:

Now the UI is going to be the biggest pain, SL does have keyframing sliders but they are... barebones and hardly useful, i will need to massively rewrite them and employ a metric ton of magic to get an UI similar to standard keyframe editors, just listing them all and having the currently selected frame sync to all of them is going to be a headache, not to mention making the keyframes selectable and then its still a matter of the looks, a slider is really not good for this and it will require some kind of "zoom" or "scrolling" so you can get closer in and mousedrag single frames easier (this one is going to be my biggest headache, i'm not sure if i can do this at all)

Tbh, even if the UI for a keyframe timeline was mostly just a visual aid and not interactive/functional, that would still help a lot. While being able to mousedrag them around would be nice, I view that as more of a luxury than a necessity. At the moment you can set something's "place" in the timeline by inputting a number value-- if it would be easier, you could keep that type of system (replacing "time" values with frames instead) for dictating where on the timeline the keyframe would sit.

More than anything I just want to be able to look at a barebones/basic timeline to get a rough overview of what bones I've moved at what point in the anim cycle instead of trying to deduce it by manually hunting down different bones and clicking them one by one in the menu just to know if I've keyframed them at all or not. ^^;

Link to comment
Share on other sites

8 minutes ago, NiranV Dean said:

That should be quite easy.

I'm nowhere near BD right now but I made a quick janky mockup-- of course, you know far better than I how this could work in a less clunky fashion!

image.png.5628524dd092cf94aef66452a60edc05.png

The general idea would be moving the clickable body parts down to free up more space for a visual timeline for each part. To edit the keyframes you'd still need to click the part (as normal) and select the desired keyframe in the area to the right where you'd mess with them normally.

 

Ideally, if it's at all doable, clicking on a keyframe in the current rightmost panel would highlight the correlating keyframe in the timeline so you know exactly what you're messing with. Then if you wanted to move the 5th head keyframe to, say, 30 instead of 24ish where it is in the mockup, you'd just input the value 30.

 

Otherwise, just any kind of collapsible or expandable window to see all of the keyframes would be a perfect start and make things a lot more intuitive! Thanks for looking into possibly implementing a timeline.

Link to comment
Share on other sites

My biggest problem with that is still the "zooming" , assuming an animation always plays with 60 FPS, and an animation duration max of 60 seconds, thats 3600 frames. The transform sliders are huge and have a range from -PI to +PI, so roughly ~6000+ possible values and precision sliding is impossible, you have to use your keyboard to go increment by increment, same would be the case with frames, there is no way i can cram 3600 frames into one slider without it becoming a mess.... we need a zoom feature... and thats where its going to get tricky.... unless i make the sliders HUGE and have them extend beyond the window, that is have a scrollbar at the bottom to allow scrolling horizontally....oof

Link to comment
Share on other sites

15 hours ago, NiranV Dean said:

My biggest problem with that is still the "zooming" , assuming an animation always plays with 60 FPS, and an animation duration max of 60 seconds, thats 3600 frames. The transform sliders are huge and have a range from -PI to +PI, so roughly ~6000+ possible values and precision sliding is impossible, you have to use your keyboard to go increment by increment, same would be the case with frames, there is no way i can cram 3600 frames into one slider without it becoming a mess.... we need a zoom feature... and thats where its going to get tricky.... unless i make the sliders HUGE and have them extend beyond the window, that is have a scrollbar at the bottom to allow scrolling horizontally....oof

Some programs try to solve this by allowing you to hold a key to move the slider slower. As in, while you're holding down LMB, you also press and hold Shift, which causes the slider to increment less per mouse distance. (Or the sensitivity of the mouse itself is reduced while the key combo is held.) No idea what's involved in doing that in the SL viewer.

Edited by Wulfie Reanimator
Link to comment
Share on other sites

52 minutes ago, Wulfie Reanimator said:

Some programs try to solve this by allowing you to hold a key to move the slider slower. As in, while you're holding down LMB, you also press and hold Shift, which causes the slider to increment less per mouse distance. (Or the sensitivity of the mouse itself is reduced while the key combo is held.) No idea what's involved in doing that in the SL viewer.

If i remember correct my Viewer has this feature already implemented

  • Like 1
Link to comment
Share on other sites

17 hours ago, NiranV Dean said:

My biggest problem with that is still the "zooming" , assuming an animation always plays with 60 FPS, and an animation duration max of 60 seconds, thats 3600 frames. The transform sliders are huge and have a range from -PI to +PI, so roughly ~6000+ possible values and precision sliding is impossible, you have to use your keyboard to go increment by increment, same would be the case with frames, there is no way i can cram 3600 frames into one slider without it becoming a mess.... we need a zoom feature... and thats where its going to get tricky.... unless i make the sliders HUGE and have them extend beyond the window, that is have a scrollbar at the bottom to allow scrolling horizontally....oof

I see no issues with a scrollbar tbh. It's better than nothing, and there's always the possibility something like that can be improved upon with later iterations if such QoL features become more feasible.

Link to comment
Share on other sites

1 hour ago, LilithServil said:

I see no issues with a scrollbar tbh. It's better than nothing, and there's always the possibility something like that can be improved upon with later iterations if such QoL features become more feasible.

Yea see thats my problem, i'm not thinking about now, i'm thinking about the final product and how i can achieve that (if at all) and i'm genuinely unsure if i can.

Link to comment
Share on other sites

11 minutes ago, NiranV Dean said:

Yea see thats my problem, i'm not thinking about now, i'm thinking about the final product and how i can achieve that (if at all) and i'm genuinely unsure if i can.

Even if the only option is a super long scroll bar that's still miles better than no timeline at all, though, so long as everything more or less functions. Hopefully it's not too difficult of a thing to implement, but I highly appreciate you looking into it either way.

Link to comment
Share on other sites

  • 4 weeks later...
You are about to reply to a thread that has been inactive for 351 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...