Crashing Wave Rig

Here is the glitch . Its got to do with the drivers i use to morph the curves. the technique is no good.

Hello !

Iā€™ll give it a go !

You mean having 3 curves and morphing from each one of them with one value ? Iā€™m pretty sure itā€™s possible and part of my end goal, that way I can do everything with geometry nodes without relying on shape keys.
But itā€™s not straightforward eitherā€¦ Iā€™ll see if I can make a quick test , if not Iā€™ll probably wait until I start to officially work on that ( in a couple of weeks) !

About the glitch, it might come from a dependency cycle, look into the terminal if you have a warning message.

2 Likes

hi there. yes morphing through each one with only one value. Its pretty much the same effect as an absolute shape key.

yes I agree. I have had a few attempts with no success. not that I am good at geonodes but I am learning.

okie dokie. no rush thats for sure I will be researching aswell., so if i find the solkution I will post it it here for you.

i will check thankyoou.

Thankyou again for responding.

1 Like

yes i do get a warning. Thankyou

1 Like

Hello !

I managed to make that working :
wave3.blend (152.4 KB)

The basic idea is to be able to access the previous and next shape, and interpolate between the twoā€¦ The reasoning isnā€™t that complicated but might be a bit difficult to get at first.
Iā€™ll try to give more insight if needed once my brain stop bleeding :smiley:

Hope that helps, have a good one !

2 Likes

wow . its ok youave done a wonderful job. do you have paypal or something i would love to give you 50 bucks for this answer. its great!

1 Like

hahaha thanks man, itā€™s very kind !

I donā€™t have a paypal, but if you ever come to Paris you can always buy me a beer if you like :smiley:
Anyway, Iā€™m already thankful to you since seeing your work gave me a lot of food for though so itā€™s definitely saving me a bunch of time .

On top of that I would have to make that little setup sooner or later so itā€™s very useful to me as well !

Super cool to see your progress there anyway ! Iā€™m glad I can help in return !

1 Like

ok deal! A beer in paris it is when I get over there. probably when I retire! haha but still it will be good to see see this deal through haha.

great stuff . cant wait to see what you implement. I will keep posting my progress for documentations sake. you are definately a thinker! great to meet you.

2 Likes

It worked! thankyou!

1 Like

Have you seen thi lofting method? This is the loft test that I have been using from vklidu he did an amazing job.
here are his blend tests.
bse278462_Loft_02-2.blend (120.8 KB)
bse278462_Loft_02-4.blend (1019.9 KB)

1 Like

Hey thanks a lot for these ! the method to interpolate between two curves is quite clever !
I was planning to do something similar, but seeing already done is quite inspiring indeed !

Super cool to see the setup working with the different shapes, Iā€™m super curious to see the whole wave animated with these different cycles.

Iā€™m wondering if that would be enough to fix the weird bugs at the end of that : Crashing Wave Rig - #9 by benny7770

Because the beginning is already super cool !

@sozap hi mate.

Here is an update of the wave progress. This wave has all the bones rotating forwards so ther is no need for trickery at thge end so fthe waves as I there is the option to have the wave morph into the smaller waves thanls to you. so the animation is not crash hot but just take alook at how the end of the ways look as they move through the shapekeys.

here is a look at the rig as it animates.

note: you can see the driver dependency issue still as I have to click a few times to reset the bones at the end of the vid, ut i think thats normal for blender so i will have to live with it
.

Great !! It looks way better ! Congrats !
I guess now itā€™s just a matter of polishing and adding other layers of deformation like lattices to spice up all that ?

Hum, it might be difficult to get rid of them, but itā€™s probably possible.
This might come an issue when rendering, if you plan to use a renderfarm youā€™ll probably get weird frame jumps, just like if you resume the rendering.

Depending on what you plan to animate it might become tricky. Say you want to add a boat tied to the wave, it might get confusing which frame you are actually displaying :
You play from 0 to frame 20, that frame 20 is probably correct. Now you scrub to frame 19, it gets mixed with frame 20, and if you go back to frame 20 itā€™s mixed with that weird frame 19, therefore itā€™s not the same frame 20 than before.

If the shots are just wave like you did in your test it might be enough and maybe not worth the time spent to fix the rigā€¦ But itā€™s really the lottery here, it might be an easy fix, or it might require to do some stuff a bit differentlyā€¦ The joys of rigging !

Good luck !

thankyou for your response. I will be adding characters surfing so i need the frames to be current. I understand whatc you are saying. It is becasue blender drivers are a frame behind due to drivers being the last thing actioned in the dependency graph. I have tried constraints but as you would know the constaints for rotation operate only up to 180 degress before they snap back to rest position. so that i guess leaves me with maybe another geometry nodes tree using the bone shapes as the drivers for a geometry node setup. i cant think of any other avenues. would this be correct

1 Like

A dependency cycles occurs when there is a loop in dependency.
like Object B copy the position of object A and object A is a child of object B. (Itā€™s just an example, Iā€™m not sure it actually fails).

So when moving object A we change object Bā€™s position but that also changes object A in return. This either cause some kind of infinite loop : both object will keep moving forward until you release the mouse. Or the whole setup is evaluated once but it needs a second evaluation to get the final position. Then when you move the timeline to another frame ( while the rig is still) a second evaluation occurs and we get the final position of both objects.

Depending on how much nested dependency you have, you might need several evaluations to get the final position.

Sometime the console gives some information of what cause the cycles, if not, best is to simplify your setup first, so you only have one bone and one curve. And remove unnecessary stuff but still keeping the bug.
Then do some test by removing drivers, parents or anything that can cause some loops, and then see if there is another way to get to the same result ā€¦

If you need to keep the driver, maybe you can look into parenting and do that differently.
If that really doesnā€™t work, post the simplified setup and Iā€™ll see if I manage something !

1 Like

righto potato i will have a go at your suggestion and if i get stuck i will post a simplified file. thanks for your interest and kindness!

1 Like

Hi there! I got it sorted! i found a redundant driver in some of my bones that were in between the main driving controls. I changed the driver order and got a good result. hanks for your guidance! it helped me to solve the problem. see the video below. I can restart the animation without the drivers failing to update.

time to move forward ! woohoo

2 Likes

Cool congrats !
Your future self is probably going to pay you some extra beers for that dependency cycles fixā€¦
itā€™s super painful to deal with these in production !

Iā€™m looking forward to the next steps !!

Have fun !

1 Like

I have made an exciting advancement. The wave rig can now use bones to drive a customisable falloff value . A big thankyou to Leander over on stack exchange and Dnorman for helping me with the falloff challenge. https://blender.stackexchange.com/users/30849/leander. https://blenderartists.org/u/dnorman/activity/portfolio.
Also massive shoutout to sozap (https://blenderartists.org/u/sozap/activity/portfolio) for helping with the geometry nodes . they are all absolute champions.

check out the new addition to the rig as well as all the controls.

1 Like