Page 1 of 2

Mixing Smart Bones!

Posted: Tue Jul 25, 2017 3:23 am
by Víctor Paredes

I haven't been able to try it myself yet, but this is huge!

Re: Mixing Smart Bones!

Posted: Tue Jul 25, 2017 2:01 pm
by chucky
This is a big deal!
In fact it is the holy grail for Moho, some genius detective work on display, very impressive.
This Video was clear and succinct , but very quick... I will have to watch it a several times to get what exactly is happening.
Gobsmacked.

Re: Mixing Smart Bones!

Posted: Tue Jul 25, 2017 5:38 pm
by hayasidist
It's a clever idea and it clearly works well in the situations shown - but IMO as shown I'm not sure that it's a universal solution for resolving all the types of conflicts you can get with 2 SBs acting on the same points.

In essence this approach is to create a third "fix it" SB that also acts on the conflicted points and this bone is rotated by one or both the two "main" SBs. The "fix it" action does nothing until that bone passes the halfway mark --- and either main SB alone will only rotate it to half way -- it's only when the combined rotation of the 2 main SBs is enough to move the fix-it bone past its half way mark that the correction kicks in (that is a neat approach!). But it seems to me that the underlying constraint / assumption is that the required correction for (say) 100% SB1 + 50% SB2 is the same as that for 50% SB1 + 100% SB2 and the same for 80% SB1 + 70% SB2 etc -- and I can imagine many examples where that isn't necessarily so--- but maybe someone can put me right if that's not the case? (I can, however, also imagine that it's feasible to add a "gearing" for the fix-it SB so that (say) 80% SB1 + 70% SB2 is not the same as 70% SB1 + 80% SB2)

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 12:47 am
by synthsin75
Yeah, I have to agree with Paul. Great way to set it and forget it for a third "fix it" SB, but likely not universally useful.

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 2:20 am
by Víctor Paredes
hayasidist wrote:It's a clever idea and it clearly works well in the situations shown - but IMO as shown I'm not sure that it's a universal solution for resolving all the types of conflicts you can get with 2 SBs acting on the same points.
I agree it doesn't provide a universal solution, but it certainly solves a usual limitation I constantly find when rigging. And that is a relief, because I really burn my brain looking for good solutions for every of that cases (that sensation remembers me how tricky it was to rig before Smart Bones were implemented). Actually I wish I would know about this some months ago... I also wish I had more time now to test it deeply :)

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 4:06 am
by dkwroot
Thanks for sharing this, Victor. I'm looking into it and I've developed some theories. I'm breaking this down in a technical way in case some folks might get an idea of how to script some of this for quick automation.

If we have two smart bones (S1,S2) and one corrective smartbone (C), then if we want to experiment with this method we only need to play attention to the following details:

For smartbones S1,S2, you only need to care about how much they rotate smartbone C. Let S1 rotate C by X degrees and S2 rotate C by Y degrees.

For smartbone C, if the total action frame range is some number N, then the action should begin at some frame Q where Q<N. Keep in mind that the smaller the Q, the sooner the action will begin.

The total bone rotation(R) for C, should be R=X+Y

I would estimate that we could get a good result if we used a smaller Q (maybe Q=N/1.8 or Q=N/1.5). This way, there is a little wiggle room at the two extremes without activating the corrective action. Also, the smartbones S1,S2 could have their rotations of smartbone C skewed using the graph editor so that they ease into the rotations slowly. I think this should make the blending more smooth and feel like a smooth gradient instead a of sudden boolean trigger.

From what I can tell, there is no need to mess around with frame interpolation rates for the corrective smartbone. In fact, it's probably best to just use linear interpolation for everything in the corrective action since all of the easing would be best controlled by how S1,S2 rotate the corrective bone.

So to recap:
- Use Linear Interpolation for all keyframes in the Corrective Action
- Use keyframe interpolation for rotation of control bone by smartbone actions S1,S2 to make corrective action smooth (suggest ease in)
- In the corrective action, if the action is of total frame length N, then start the action at frame N/1.8 or so. (This means copy keyframes at frame 0 to frame N/1.8 )
- smartbones S1,S2 should rotate the corrective smartbone by some values X and Y, such that X+Y=R where R is the total rotation to activate the corrective bone. Keep in mind that X is inversely proportional to Y. The larger a value for one of the weights, the more that specific bone will control the corrective action. It's best to leave it at X=0.5R, Y=0.5R

After everything is set, you should only need to mess with the interpolation of the corrective bone rotation by S1,S2 to get the result you want.

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 8:19 am
by negroclarito
It sounds GOOD!!. I'm going to try it. It can solve many of the Intermediate animations problems. Thank you!! :D
This guy... Mult Rush... has another good tutorials (https://www.youtube.com/channel/UCp-wpP ... 0wVYN2LcIQ)

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 4:24 pm
by KuzKuz
Thank you Victor for bringing on my video to this forum, perhaps I should have done that myself. I'll do it with my future videos. And thank you synthsin75, hayasidist, and dkwroot! I'm always open to discussion, and if you guys have better solutions, please do not hesitate to bring them on. It would be especially nice to see some visual examples.

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 5:52 pm
by Greenlaw
Thank you, Victor, for the heads up, and of course, thank you, Mult Rush, for making the video. (Assuming he's on this forum but, regardless, thanks anyway.)

It may not be a 'universal' solution, but it probably solves a heckuva lot of SB conflict problems. Can't wait to try it myself.

Edit: I just saw the post from KuzKuz. Thanks, KuzKuz! :D

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 6:37 pm
by chucky
Mult is KuzKuz, he's been around for yonks

Edit:
ahh you posted just as I did

Re: Mixing Smart Bones!

Posted: Wed Jul 26, 2017 6:41 pm
by Víctor Paredes
KuzKuz wrote:Thank you Victor for bringing on my video to this forum, perhaps I should have done that myself. I'll do it with my future videos. And thank you synthsin75, hayasidist, and dkwroot! I'm always open to discussion, and if you guys have better solutions, please do not hesitate to bring them on. It would be especially nice to see some visual examples.
Hey! It's nice to know whose avatar is behind that techniques! Your ideas are great, thank you very much for sharing them. And please continue posting them here :)

Re: Mixing Smart Bones!

Posted: Thu Jul 27, 2017 5:24 am
by neeters_guy
Thanks Kuzkuz and Victor for sharing this. I'll have to watch it several times for it to sink it, but it looks like a great solution!

Re: Mixing Smart Bones!

Posted: Wed Apr 25, 2018 2:26 pm
by A.Evseeva
A script for automating this technique.



download zip

Re: Mixing Smart Bones!

Posted: Wed Apr 25, 2018 4:53 pm
by Greenlaw
Cool! I just watched the video about the automation script. Haven't tried it yet but it looks very useful.

BTW, the download link above is broken for me, but I was able to download the file at home from the link in the video description on YouTube.

As for the original technique, I used it at work not long ago and, yeah, this solves a lot of potential problems with conflicting Smart Bone animations. Thanks to Mult Rush for sharing this excellent technique, and to Victor and A.Evseeva for calling attention these videos.

Re: Mixing Smart Bones!

Posted: Wed Apr 25, 2018 5:25 pm
by chucky
Really brilliant stuff, generous script and presentation.