Hello Sketchup users,
A colleague asked me today if I could animate a spiral-shaped object in sketchup for a product short she is filming.
She rolled up a piece of paper, held one edge down on the desk, released the paper so that it unrolled and said, “there, like that”.
I would love to fullfill this wish if possible but I’m not yet quite certain how.
If I were to turn the spiral into a cloth in clothworks, pin one side, turn on gravity and click on go then I would get something like what I’m looking for but I can’t render that image - so it’s not good enough for work.
Ideally, I would find a way to unroll the spiral in Fredo Animator and then export the animation to VRay.
Anyone have any ideas here? Perhaps you yourself are reading this, Fredo, and would care to comment?
This is of course not a need, just a want - but it would be cool if we could figure out a solution.
Thanks to all in advance!
Hello Sketchup users,
I have used @Fredo6 's Animator plug-in a lot, but never tried to combine it with another geometry-modifying extension such as Clothworks. The hard part (in my mind) is how to accomplish the varying geometry of the surface as it unrolls and flattens. Animator could be used to represent the object as a linked series of narrow strips that are hinged to each other. It would be tedious to define all the rotation animations, but could be done manually (depending on one’s patience and how smoothly one wants the deforming surface to appear).
You might consider the MSPhysics extension (also by @Anton_S author of Clothworks). I used MSPhysics to do something similar - simulate a wide flat electrical cable that was loosely spooled up within a cylindrical container. The flat cable wound and unwound as part of the attached geometry was rotated. It worked, but required a lot of trial-and-error effort to get the joints between the individual segments of the flat cable (about 250) to link with their neighbors, with desired stiffness, and to prevent “explosions” when edges of segments caught on each other (in my case, the coiled cable was flexible enough to self-intersect and slide along an inner or outer wrap of the flat cable at various times during the animation; you probably wouldn’t have that issue).
Thank you TDahl for your quick and well informed response.
I had considered MSphysics as well but it leaves me with the same problem that (I beleive) the output can’t be rendered. Someone can please correct me if I’m misinformed there and also with the following: I beleive that the reason that the creators of Sketchyphysics/MSphysics stopped updating the extention in 2017 was in order to work on clothworks, the other extension which I refered to in the original post - so those are similar (although not the same) solutions.
I like the solution with individual segments but it does mean, that each segment must be rotated locally, as well as being rotated from the center of the spiral and moved laterally outwards all choreographed together over the same time period. Possible I imagine, but extremely difficult to do without making movement errors and have it look, “right”. I will experiment with that with say, 10 segments at first, then I can calculate if a) it seems within my means to do it with 200+ pieces and b) what that would mean in time-investment.
I would like to also continue to brainstorm how this could be automated while also rendering to improve the workflow.
Great input TDahl - keep up the good work
Sounds like an interesting challenge. One thing you should know about the Animator plugin is that it works in conjunction with several renderers (I think Vray is one of them). Therefore, if you work out the animation issues it can generat a rendered animation.
I think if you look at the Animator thread(s) on The SketchUcation forum you might find some examples that would lead you down the right path.
Hi Dave, thanks.
I render regularly with Animator to Vray. That certainly works, in fact, works great (I love it ).
I have done my research on the Animator threads and have not yet found a solution but if you, or anyone, has a specific thread to share, I’m all ears. All the best.
Clothworks already is an animator. Can’t you render the results of Clothworks > Export Recorded as skp or Other?
Turn on record.
Export after play-stop.
Disclaimer, I’m very not render-knowledgeable
It would be an interesting challenge. I expect that the segment components/groups would need to be nested in an N-level deep hierarchy (N is the number of segments). The segment closest to the starting center of the spiral wrap would be nested within the second-segment-out, which would be nested within the third-segment-out, etc., ending with the outermost segment (attached to the table, so to speak) that contains all the other nested segments. Each successive segment would initially be posed at a suitable angle from its predecessor segment (e.g. a little more than 36 degrees if there are ten segments) to represent the starting spiral. Then a rotation movement would be defined for each level in the nesting hierarchy that gradually flattens that 36+ degree initial angle. As each outer-level rotation occurs it moves all the inner segments with it automatically.
Setting that up for a few segments would be fairly straightforward. Doing it for 200 segments would be extremely tedious. Maybe someone (@Fredo6) knows of a way to programmatically or otherwise externally generate the rotation movement definitions and feed them into Animator? If so, the series of 200 rotations could be generated via a little custom program or spreadsheet or something. This is all hypothetical.
Animator does not support this type of movement, because it is a deformation of an object geometry (as opposed to a transformation of the object).
Doing it by segment is indeed manageable but cumbersome.
But for Animator, it’s a change of approach, which I am not going to tackle in the immediate term.
Thank you Fredo for your assistance here - knowing for certain what is and what is not possible guides me/us in the direction which needs to be taken.
It’s appreciated that you, as the creator and therefore the ultimate expert, take the time to respond in the forum.
I will take on the challenge of attempting TDahl’s suggestions and manipulate nested groups to test out the limits in that regard. Perhaps a bottle of wine and some good music will make it feel less cumbersome
I have been following the suggestion of TDahl above and am pleased with how things are coming along. I will post below a low-res video of a piece of paper unrolling rendered with test quality. The paper is composed of 33 segments where segments 1 and 2 are grouped, that group is grouped with segment 3, that group is then grouped together with segment 4 etc. creating 33 groups since there are 33 segments (depth=n). TDahl is correct that this means that a simple rotation of each group in animator played successively creates the compound motion of the unrolling spiral without having to program anything other than these 33 rotations manually.
The next goal is to replace the paper segments with the real components I would like to use - in this case it will be an industrial conveyor belt used in factories for baked goods. I would like to use 150-200 segments and to introduce temporal overlap in the playback of the rotation so that it more all unrolls at once. I would also like for the camera to fly through the hole in the middle while it unrolls and everything to be on a transparent background and with significantly better render quality. So I still have a challenge ahead but this partial success makes it feel totally possible. Thanks for the input from everyone - Tom, you’re a legend
That looks great!
Very well done!