Animator: Parametric Animation plugin - Discussion
-
Tom,
Quite impressive, first the model itself and the animation for the mountng.
For the animation, did you proceed by unmounting from an assembled model (and then running the video backward), or the contrary?
Fredo
-
Hi Fredo, as you suspected the animation was done by disassembling an intact model and then running the animation in reverse. A very handy feature of Animator to be able to do that!
- Tom
-
Very impressive Tom.......
-
I am completely new to Sketchup, but it seems that Animator might be a good starting point for what I would like to realize.
I have discrete event simultion of a container terminal written in Python (with my salabim tool). There I can do 2D animations. My idea is to interface either the code or a file with actions (crane moves, spreader, lowers, container is placed, ...) with Sketchup.
Is there any possibility of interfacing Animator with 'the outside world', preferably with an API, but a file is also acceptable. Does that involve Ruby programming.Any advise is welcome.
-
@ruudvanderham said:
I have discrete event simultion of a container terminal written in Python (with my salabim tool). There I can do 2D animations. My idea is to interface either the code or a file with actions (crane moves, spreader, lowers, container is placed, ...) with Sketchup.
Is there any possibility of interfacing Animator with 'the outside world', preferably with an API, but a file is also acceptable. Does that involve Ruby programming.Animator is designed to generate videos of animation based on parameterization of object and camera movement.
If the simulation aspect is more important for you, then I would suggest that you have a look at MSPhysics, which is more a Physical engine, which can also generate videos. I think it has some kind of script programming.Fredo
-
@Fredo
Thanks for the response.
Maybe just a little bit more explanation: All I want to do is animate the output of a simulation. This output might look like:
t0=100 t1=110 object=crane1 x0=10 x1=300
t0=100 t1=120 object=crane2 x0=20 x1=200
t0=110 t1=200 object=spreader1 z0=100 z1=10
t0=120 t1=130 object=container191 location=(10,20,40)
Just to give an example.
Would there be any way to interpret that kind of info (format totally discussable) and animate it with Animator/Sketchup? -
Animator does not have (yet) a specification scripting language. Again, it is not designed as a simulation tool, but as a video generation plugin.
It all depends on what you have in mind. Maybe, if you already have the model built in Sketchup, and you post it, I can tell what you can do (or not do) with Animator, and in MSPhysics.
Fredo
-
Does the ability to Control-click a set of elements in the timeline to group them into a clip still exist? This was shown in one of Fredo's earlier YouTube Animator videos, #2 I think. When I try (using v1.8b on a Mac in SketchUp Pro 2017), attempting to Control-Click on a timeline element pops up a tiny gray menu thing with "Exit" as the only choice. I have not figured out any other way to collect a set of timeline elements into a group, which would be convenient for re-using a set of coordinated actions.
-
Tom,
I think on Mac, this is Command+Click.
Tell me if it does not work.
Fredo
-
Hi Fredo, it turns out on the Mac it is Option+click to select multiple elements in the timeline (I can't believe I did not try that!). Thanks for the quick reply and for prompting me to experiment further.
- Tom -
Is there an easy way to create a movement action (such as a rotation) that only applies to one instance of a component definition? A number of times now, I've applied a movement action to one instance of a component and later discovered that the same action is being applied to all other instances of the same component definition. I am not consciously doing anything to cause the action to be applied universally, and I do not want the action to be applied universally; I only want the movement action to be applied to the component instance that I selected in the GUI when creating the movement action.
I generally do not give each instance a unique instance-name, but I'm trying to remember to do that in the future - in case that would cause Animator to only apply a movement action to the component instance that is directly selected in the GUI when creating or editing the movement action.
When I discover the universally-applied movement behavior has occurred, what I do to "correct" it (to my intended animation) is to delete the movement action and purge it from the model and save and exit from Animator, select each instance of the component and make-unique (using SketchUp's native GUI), then re-create the movement action in Animator's GUI with the desired component-instance. This is a bit of a bother. I bet there is a direct way to create a movement action that only applies to one instance of a component definition but I don't know what it is.
-
Tom,
In principle, Animator treats each instance of a component as a separate object.
However, if an object is embedded within a super-component, and you apply a transformation to the object, then all instances of the object within the super-component instances will also be transformed. This is because the transformation is applied relative to the parent.
This is the same behavior as in Sketchup. I guess that if you manually move the object via a Sketchup native tool, you will observe the same propagation.
Tell me if not the case.
Fredo
To remove the movement, I think the method you mentioned is fine. Just suppress the sequence via the Maintenance dialog box.
-
Hi Fredo, OK good to know more precisely the behavior of Animator with respect to nested components - thanks. I don't think SketchUp works in the same way, though at this point you probably don't want to change Animator behavior because a behavior-change would break compatibility with existing model animations that people have been creating.
In native SketchUp if you modify the content of a component then all instances of the component are automatically updated. In other words, if you open for editing any instance of a given component definition and make a change, that change applies to the definition and therefore all instances will instantly reflect the change (regardless of nesting). However, if you make a change from the "outside" of a component instance - to alter its position or overall scale, for example, that change only applies to the selected instance(s). This is not affected by how instances of the component might be nested within other components or groups.
I'll try to remember to make-unique any component instances before applying instance-specific animator actions to them.
- Tom -
That's exactly what I was referring to.
Animator only applies the movement to the selected instance of the component, not to other instances.
But if an object is part of the component definition of a super-component, then all instances of this super-component will be affected, since they share the same definition.
There is no special behavior of Animator versus Sketchup. That's exactly the same logic.
If you find a case where this is not the case, then I am interested that you post it or PM it to me.
Fredo
-
Hi Fredo,
Ohh, now I understand what you are saying about multiple instances of a super-component. Yes, this describes what I have been seeing. The components I was animating are indeed nested within a super-component, and there are multiple instances of that super-component. Thus, when applying an animation action to a sub-component, it automatically replicates to all corresponding sub-components in other super-components.
Here is a sample SketchUp file with two instances of a microswitch super-component. I applied three animation actions to different segments of the switch's lever-extension to simulate the metal lever being bent when the microswitch is triggered. In Animator's GUI I applied the actions to one instance of the lever-extension pieces, but naturally it affects both instances (because the actions occur within a super-component).
Microswitch Lever-Extension Component Animation
Sorry for my confusion!- Tom
-
Tom,
I am afraid you have to make the super-component "Rotation Switch Lever" unique, so that you can animate them independently. Indeed, there is nothing Animator can do, as this is the fundamentals of Sketchup hierarchical component model.
Note that Animator can do the reverse: that is, force independent component instances to follow the same movement (this is done via Kinematic constraints).
Fredo
-
Hi @Fredo6, I think your tool is really powerful, but I'm having a problem getting my model animated. I have a complex ring structure that rotates, but the rotation is wobbly. Seems fine at first, but then after a few modifications of rotation speed, the rotation is no longer smooth. It seems to suddenly be rotating around something other than the center. I tried both Z and z. Any idea what I may be doing wrong? Do I need to post the model? (I'm currently using SU Make 2015, as I haven't had a chance to upgrade to 2017, yet.
Also, I'm a bit confused about the duration. I understand the difference between clip duration and movement duration, as a clip can contain multiple movements. But for a single movement, there is a setting for duration in the main movement dialog, but when I edit the movement's element properties there is another to set the duration, and the two are not necessarily the same. Can you explain the difference? (I can post images of the dialogs, if that's helpful.)
thanks!
-
For Rotation, be careful to select the pivot reference object (indicated in orange). It can be another object, or the top model. If the pivot reference object does move too, then you have an orbiting.
For Duration, a Sequencehas a nominal duration. However, when you place a sequence in the timeline, it becomes a Clip Element. You can change the duration of the clip element. This is somehow analog to Sketchup component / instances concept: think of a Sequence as a Component Definition which you can instantiate in the model, each Instances being scaled or transformed.
It might help that you post the model or PM it to me, so that I can check your problem.
Fredo
-
I have just completed a detailed video animation (nearly 18 minutes long) that uses Fredo's Animator extension extensively. The video describes the design and operation of some real spacecraft hardware - the Surface Sampler Acquisition Assembly or "scoop" from NASA's Viking '75 Mars lander. The scoop was used to pick up small samples of Mars soil and deposit it into lander science instruments for analysis. The video also uses Anton Synystia's MSPhysics extension in two places.
Thank you Fredo and Anton for making such great extensions to SketchUp.
-
Tom (TDahl),
That is a vey cool project and wonderful work done here on your video. Bravo.
Advertisement