Animator: Parametric Animation plugin - Discussion
-
@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. -
Hi Fredo, your Animator in Sketchup is very powerful. I have two questions.
-
Is it possible to export an animation sequence of sketchup models to an animated file format. My end format is gltf. I have been unable to find anything that works. Exporting and importing sketchup models in blended for animation has top many problems with missing parts. Animator is hugely powerful within sketchup and creating videos but I am just wanting to animate and export some simple models.
-
I wish to use endless rotation / animation. However when I select this option in your dialogue it doesn't seem to do anything. All I want to do is animate rotating blades. With a rotation of 360 and 180 speed over 2 seconds and infinite spinning or rotation it still stops after the resulting two minutes.
Your advice would be most welcome.
Regards
David
-
-
@dawrightau said:
- Is it possible to export an animation sequence of sketchup models to an animated file format. My end format is gltf. I have been unable to find anything that works.
Frankly, never heard of this format 'gltf'. What is it exactly?
@dawrightau said:
- I wish to use endless rotation / animation. However when I select this option in your dialogue it doesn't seem to do anything. All I want to do is animate rotating blades. With a rotation of 360 and 180 speed over 2 seconds and infinite spinning or rotation it still stops after the resulting two minutes.
In Animator, there is nothing that can be infinite. You have two ways to make your rotations last for a given period, say 2 minutes = 120s).
a) You create a sequence of duration 120 second, and you compute the angle rotated during this 120 seconds. In your case, with 360 degrees every 2 seconds, the angle should be 360 * 60 = 21,600 degree.
b) You create a sequence with a given duration, and you 'pursue' or 'repeat' it in the timeline. The trick is to place a dummy element (a view) at 120 seconds to make the clip finish at 120 second, and use the option repeat forever, or pursue forever to force repetition / pursuing till the end of the clip.
I need to think of a more general option which would repeat the movie for a given duration.
Fredo
-
Hi Fredo thanks for your prompt reply and explanation regarding repeating a rotation / spinning blades rather than stopping at ths end of 2 seconds. My use of infinity was in reference to your infinity symbol.
Regarding the gltf, this is 3d model format which is being pushed as a standard for interchange between different 3d software platforms http://www.khronos.org/gltf/
I should have added is it possible to export the animated model to a range of animated 3d file formats such as collada / dae, OBJ and others. Most formats can then be converted to gltf.
As animation in many software programs is not straight forward and your sketchup plugin is so powerful, the ability to export the animation from sketchup to a 3d animated model format rather than just saving as a video / gif would be highly desirable.
If I have not done enough reading or watching your videos and it is possible to export an animated 3d model from sketchup using your plugin can you please point me to those tutorials / help files?
Thanks again.
Regards David
-
David,
I had a quick look at the glTF format on the Kronos site.
Frankly, I am not sure it applies well to Sketchup and animator, as most of the format is geared encode mesh deformation for subsequent rendering. The Animation part is only one small element of the standard. So writing an exporter from Sketchup to glTF is much more a task for Trimble or Kronos contributors or some motivated third party.
There are already some exporters from SKP to OBJ. I don't know if this includes or not possibilities for embedding animation information. Anyway, all these format are utterly complex to understand, and most of it is about encoding the model (with vertices, triangles, textures, etc...), and animation information is not encoded at object level but at vertex level.
So today, and probably tomorrow, Animator exports animation as sequence of images or videos.
Fredo
-
Dear Fredo
Thank you for your follow up comments which I appreciate.
So some final comments for you.
I have used sketchup for more than 12 years. I have used a number of approaches for animation within a model. Yours by far is the most powerful. It's really very clever and beyond my ability to learn and use fully.
However whilst it has always been helpful to animate within sketchup, having built a 3d model using one the most powerful and easiest 3d modelling tools, invariabley the model is to be exported for use in some other application. Sharing / presenting a video or animated gif is helpful but nothing compared to beimg able to export an animated model.
So Kronos have already built a plugin to export gltfs for Sketchup. What is missing is the ability to export a model that is animated to a standard that can be used across different platforms. It seams there is a disconnect -
You have a really powerful animation tool but don't see yourself writing a method add this to export options for gltf or other formats any time soon. Kronos have built an exporter for gltf but are unlikely to build a tool like yours for doing sophisticated animations.
Being able to add your animation procedures to the gltf exporter would empower sketchup users to be able to export animated 3d models using a software interchange format that is endeavouring to provide a standard way of exchanging static and animated models.
Even if you don't think this is worth your while maybe you could clarify upfront in your explanation for your plug in that you don't support any form of export of your animations. This clarity would have saved hours of wasted effort and frustration and this correspondence with you.
In my case I searched the internet widely for options to animate 3d models from sketchup. Blender seemed the best option. However I then had such problems in blender with importing 3d models created in sketchup because of the interchange issues. With parts of models missing, poor structure etc it was a struggle to even get to the point of using Blenders powerful animation functionality.
This journey and roadblock led me to investigate whether there were any new animated plug-ins that allow export of the animation in any of sketchup export formats. I found Animator. It looked great. I spent hours looking at videos and blogs and building test models and training myself how to use Animator but I now know was looking for something that wasn't there. Ie no you can't export the animation to anything other than a video or animated gif.
So could I encourage you to clarify this upfront with your plugin description. Even better could I encourage you to look at extending your plugin for this purpose. Alternatively liaise with Kronos Group to achieve this functionality which would be of benefit to so many.
Good luck.
David
NB for any other frustrated sketchup users wanting to export models from Sketchup tp blender for any reason try the 3ds export. It has worked best for me.
Advertisement