Mighty Animation Tool
-
To really be able to use SketchUp for animation purposes - in an intuitive way comparable to the ease of modelling - would be a wonderful enhancement to this software. I spent a great deal of thought on how a rough shape of such a plugin's interface could look like, what the workflow should be like and what important features should be implemented. I would very much like to hear your opinion.
the following description is long and very detailed. so only read it, if you got a lot of time and patience
This new plug-in is a key-frame based animation tool for SketchUp, that enables you to animate groups and components, as well as all camera settings to create advanced presentations of your model.
The Interface
The main interface consists of a reel at the bottom of the screen, that contains small images representing the various key-frames. If you double click a frame, it becomes active, therefore rotating the reel until it is centred in the observation frame. At the same time your stage in SketchUp updates to this specific key-frame. You can flick through the frames by spinning the reel with your mouse or clicking the arrows on either side of it.
(the bat mobile is not my creation - downloaded it from google warehouse)
high-res image to be found here
Key-frames define the position of cameras and geometry at certain points, interpolating all the frames in between. You can view these intermediate frames by moving the small slider at the top of the observation frame. If you want to change the position of an object at a certain point, you can insert a new key-frame.Key-frames are scenes and are therefore listed in SketchUp's scene manager window. In order to save all information necessary an animation tag is added to scene information. You can decide if a scene is showing up as a tab at the top of the stage. You will probably have only views showing up there that you need for modelling, views that are not part of the animation as a key-frame (something you can choose in the scene manager as well).
Camera Control
It is important to know that view information is not saved in key-frames (this option is greyed out in the scene manager as soon as “key-frame” is activated).
For controlling your views during the animation, you use cameras, physical objects, that you place in the model and animate their position and orientation. In addition to that you can save camera specific information like focus (by opening the camera-manager), which can be used when exporting to render engines (like Indigo)Cameras are automatically placed in a “camera-layer” this layer is switched off by default. To manipulate your cameras (you can have more than one of course) you either activate the layer or simply click the camera-manager button above the animation reel.
The camera-motions between their key-frame positions are defined by a bezier-curve by default to allow one single smooth movement. This paths are hidden on a layer. But they are physical objects in the model and can be changed at will, like any other geometry in the model. To make things easier, you have certain manipulation aids in the camera manager, like hardening/softening the transition between frames.If you play back the animation, it will not change your view position; but it will show the changes of object's positions. You can move around the model freely while observing the animation.
If you activate a camera however (by double clicking it in the camera manager window) all the key-frame images in the reel will update to the camera view and an animation playback in the stage will show this specific camera point of view.
It makes sense to save scene tabs (showing up at the top of the SketchUp stage as normal) that only contain “active camera” information. Thus you can switch between the cameras at will during animation playback.There has to be a way how you can define cut sequences throughout the animation, where you can switch between different camera views at a scheduled time to create a proper film before even exporting (saves unnecessary image export, because the cutting process happens within SketchUp). I don't know how to implement these cut schedules yet. But this functionality simply has to be in the package!
Saving Animation Information
If you double click a key-frame, it becomes active. Any modifications of objects (move, rotate, scale) will be saved as animation information. If no key-frame is active, these modifications of position do affect the overall model, in every key-frame (meaning, if you move an object 10m to the right, its individual position in every key-frame will be moved 10m to the right. However, it will not overwrite the key-frame specific positions).
It is advisable to finish the design process first and then start setting up the animation.An advanced level of control is given to you by the ability to do changes in several key-frames at a time (select several frames by Ctrl-clicking, then right click > make active).
Another great tool is the possibility to copy different scene attributes from one frame to another. Ctrl-select on or several frames and then simply drag attributes, like animation information, shadow settings or style settings of the active key-frame from the scene manager onto one of the selected frames and the information is copied.
If you have objects selected in your model and copy animation information from one frame to another, a pop-up window will ask you, if you want to copy these info only for the selected objects or for the whole model.
If you are not sure, which elements in your model are animated, you can press a “show animated objects” button to highlight these parts of the model.
Oh yes, and this plug-in works hand in hand with SketchyPhysics. If this tool is active the physical calculations will be synchronised to the speed of the animation to achieve realistic simulations. you can let SketchUp calculate all the physics once and save the resulting object animation. thus it doesn't have to recalculate the whole scene at every playback. if something important changes in the scene that will affect the physics, you can either switch it back to real time calculation or simply do a physics update.
that was a lot of information. I hope you were able to understand most of my ideas. I will add some more illustrations when I've got the time. but for now I have to get some rest.
what do you think?
-
If SU 7 contained nothing but what you just described and high poly support i would be a happy man.
-
Hi Plot-Paris
What you are preparing is just a whole motion-picture machine included in SKETCHUP. When do you send some
example ? I would be pleased to have a better understanding watching this. Really interestedRegards
MALAISE -
thanks guys for the comments.
just to be perfectly clear: this is only a dream (thats why it was posted in the wish list). I have no knowledge of coding whatsoever. but I couldn't help thinking about such a plugin for a long time and simply had to share my thoughts.
and you never know. perhaps someone will read this at google and will be inspired...
I have allways been living in dreams and like to discuss them in full earnest. and sometimes - especially with ruby arround - these dreams become trueif you have any suggestion of what could be added or changed, I would love to hear them.
-
Hey Jakob,
You really seem to have thought this through and I am glad you made the effort as indeed the animation part of Sketchup really can be improved a lot.I love the way you made that scrollbar at the bottom of the screen, and the little slider to scroll in between scenes (keyframes).
If I understand you well, you both support camera animation as object animation.
I do wonder if things can't be simplified even more.
My suggestion would be setting up the camera animation first and after that select the objects to animate
and assign a different position to them per scene tab.The camera animation setup would be almost like yours, setting up your cameras first by using the 'good old method'= moving through your scene and saving scene tabs.
Then click 'show all cameras', which would show all the cameras you setup as symbols in the viewport, together with the interconnecting bezier curve (which you can alter with control points).After you setup the cameras, setting up the object animation can start.
You go to 'scene 1' (or call it 'key-frame) ,right click the object you want to animate and choose 'assign positions per scene'.
It will grey out all other objects in your viewport so you get a clear view on the object to animate.
Now you will be asked to assign a new position for the object for each 'scene'.When your done, you can click 'show object positions' and you'll see a bezier curve and symbols for each position, just like you have a bezier for the camera. The bezier curve can also be changed by contol points.
-
Thanks for painting this picture Jakob. This, I am sure, will be of
great interest the the GSU guys as I feel this is the way SU MUST go
in the futureMike
-
kwistenbiebel, you are right. we need to set up cameras directly in the viewport, in the 'good old method'
to save it with scene tabs however will be difficult when having several cameras.perhaps we should still keep the physical cameras in the model, giving us three different ways of controlling them:
- change the camera-path (bezier curve) with ordinary drawing tools
- moving the camera arround (which will affect the path like moving a control-vertex of a bezier curve)
- entering the camera by double clicking. your viewport will show the cameras point of view. now you change your view as desired, right click and choose "update camera"
your suggestion of having the same kind of bezier-curves as the cameras for any animated model is a great idea - a great way to give us a perfect amount of control over the motion of objects.
for the animation of objects I would prefer if you activate a keyframe by double clicking it. any changes (move, rotate, scale) applied to any object now will only affect this key-frame. like that you can manipulate several objects at a time (without the need of right clicking it and defining the following changes to be animation changes).
while a key-frame is active, you can not change the geometry of objects (drawing tools, push/pull tool...)it would be indeed useful to have animated objects highlighted. therefore a toggle key would come in handy that switches this highlight mode on and off. you could even right click this button to get additional control, like how many frames back the animation progress will be displayed. something like this...
oh, and one important thing I forgot to mention earlier (and I have not thought of a good way to control it) is that the transition times between key-frames are not fixed like with scenes at the moment. so if there is very little movement in the first half of the animation and a lot of motion in the second half, you will have a lot more key-frames towards the end.
thus you can insert a frame inbetween two existing ones to get additional motion control without changing the overall animation time. -
thanks, kwistenbiebel, for this research. highly illuminating. and indeed the animation of objects is not as fluent as we would wish.
and that shows us, that even the commercial animation scripts are not at all close to what you could call an easy animation tool with satisfying effects. so we still have to refer to other software to get proper animations working (do you listen, Google? ).
I haven't used the "proper animation" script yet. but what I read of it so far, it is a nice beginning, but not as intuitive and eye candy like , as we liked it to be
ps: appart from the choppiness this animation is not too bad. we could really do some nice stuff with the right tool...
-
Maybe, to get better control of both camera animation as object animation, best way could be to have a different series of scene tabs for each item.
1 series of scene tabs for the camera and 1 for each object that gets animated.
In that way one can for instance go to a particular view (by clicking a 'camera' scene tab) and change the position of an object in the appropriate 'object' scene tab.The scene tab series would function like a timeline (as it currently does).
'Camera scene tab 9' will accord to 'object scene tab 9' etc....
The result would be that one could easily (WYSIWYG) set up the position of an object relative to the position of the cam at a certain time. Chronology is always kept.This is a simple mockup of how that could look like.
-
A hypnotising SU object animation, containing only 8 different frames.
Rendered using Fry.This object animation uses the 'hidden geometry' trick as well to animate objects.
Because the amount of frames is limited, this can be done manually.
In this case, the animation is fluent because the camera remains static.
(It seems that when trying to have both cam as object animation at the same time, trouble starts )The Newton Cradle model is from 3dwarehouse.
The song is 'pump up the jam' by Technotronic.Vimeo link:
http://www.vimeo.com/1505858
[flash=640,512:qmtuvtid]http://www.vimeo.com/moogaloop.swf?clip_id=1505858&server=www.vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1[/flash:qmtuvtid]For those preferring Youtube:
http://www.youtube.com/watch?v=yQYoo2K_a5M&fmt=18
[flash=425,344:qmtuvtid]http://www.youtube.com/v/yQYoo2K_a5M&hl=en&fs=1&ap=%2526fmt%3D18[/flash:qmtuvtid] -
what a cute little animation. somehow these little "dancing" balls are really charming. nice effect of changing the image colour. gives a real club feeling.
to the idea of several scene tab rows: I think we will hit some problems with that very soon. imagine we have a highway scene (matrix style ) with lets say 30 cars and 6 different cameras, that would result in 36 rows of scene tabs - not much space left for modeling
I would like to understand the key-frames as saving-points on the timeline of the animation. every key-frame is a scene. but not every scene is a key-frame. like you have the option to "show scene in animation" in today's SketchUp, you would have a "key-frame" tag, as well as a "show as scene tab" option for every scene. that again means, that a scene, shown as a tab at the top of the viewport can be a key-frame, but does not have to be one.
key-frames merely define one position on the time line. which information is saved at this point (animation information, shadow settings, styles...) is up to you.
I think this is, how many other animation programs (like Maya) do it.but I know what you intend with the idea of saving each object's animation seperately. if one object has a change of direction every key-frame and another object has one continuous movement from frame1 to frame9, it wouldn't make sense to define the second's object's position in every frame
therefore we needed a way to animate several objects in one key-frame without having to save the changes for each object seperately but at the same time to changes for an object in only one frame and interpolate the motion in the frames inbetween.
perhaps a way would be, that if an object doesn't change it's position lets say in the first 6 key-frames and you move it arround in the sixth frame, you can right cklick it and say "interpollate position between frames".
I know, not the most elegant way... but I am sure we will find a good solution for that -
Great thread plot-paris, very interesting indeed and really appreciate the thought you're putting into this.
@kwistenbiebel said:
Wanna know how ?
Kwistenbiebel.. omg how?
-
Hi Jakob,
Rendering object animations using PR render software IS possible from within Sketchup.
See example using fryrender:
Link for direct view:
http://www.vimeo.com/1545109
[flash=640,480:bp92c3ga]http://www.vimeo.com/moogaloop.swf?clip_id=1545109&server=www.vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1[/flash:bp92c3ga]For those preferring youtube:
http://www.youtube.com/watch?v=0LO3seJv0ikWanna know how I did it ?
-
what a great animation, kwistenbiebel!
convincing sound effects that bring the whole thing to live. but what really impressed me was your fade from black and white ("wow, rail tracks crossing wide water surface") to coloured ("oh, its not water - its wood!" ).
How did you do it? which animation tool did you use?
-
Hi,
A more versatile and professional animation addition to SketchUp as you suggest would be most welcome.
But while the shadow bug (still not fixed after 9 years) is still present why would anyone waste all their time and effort on producing something like this.
What would be the point of enabling us to produce better animations with these new tools only for the final output to be ruined by the horrible mess of the SketchUp shadows.
Some may take the view that animations can be produced without shadows. Whats the big problem? But Sketchup Pro is supposed to be a professional 3D application.
Shadows form an important part of 3D work and as part of a profeassional application should work correctly.To me, this situation is a bit like Adobe saying Photoshop is a professional 2D editing application but it doesn't work correctly with JPG files. But don't worry, you can work around this by using other file types. Madness!
The addition of better animation tools would only be of use if seamlessly intergrated to work with third party renderers such as Vray, Fryrender, SU Podium etc.
Regards
Mr S -
@mr s said:
What would be the point of enabling us to produce better animations with these new tools only for the final output to be ruined by the horrible mess of the SketchUp shadows?
Indeed, good point.
Personally I just want to use photoreal render software on Sketchup scene tab animations.
The shadow bug doesn't affect this. -
@mr s said:
Hi,
A more versatile and professional animation addition to SketchUp as you suggest would be most welcome.
But while the shadow bug (still not fixed after 9 years) is still present why would anyone waste all their time and effort on producing something like this.
What would be the point of enabling us to produce better animations with these new tools only for the final output to be ruined by the horrible mess of the SketchUp shadows.
Some may take the view that animations can be produced without shadows. Whats the big problem? But Sketchup Pro is supposed to be a professional 3D application.
Shadows form an important part of 3D work and as part of a profeassional application should work correctly.To me, this situation is a bit like Adobe saying Photoshop is a professional 2D editing application but it doesn't work correctly with JPG files. But don't worry, you can work around this by using other file types. Madness!
The addition of better animation tools would only be of use if seamlessly intergrated to work with third party renderers such as Vray, Fryrender, SU Podium etc.
Regards
Mr SAre you going to be stamping your feet in a tantrum on a regular basis over the shadow bug? Maybe if you cry or wet your pants while you do it Google will be forced to act.
-
I would wet my pants right here in the office if that fixed the shadow bug!
but as you said, Mr S, as long as we can export the animation to external render applications (Indigo! I love it!!! ), such a tool would be a great enhancement
PS: kwistenbiebel, how did you do your animation export to fry? (I'll keep on asking )
-
@plot-paris said:
PS: kwistenbiebel, how did you do your animation export to fry? (I'll keep on asking )
Straight from within Sketchup
The object animation in SU is basically a scene tab animation with as much scene tabs as there will be animation frames(=hundreds ).I set the 'transition times' in SU to 1 second (delay=0).
In the Fry 'render settings' panel, I set the framerate of the animation to be 1 FPS.
When clicking the Fry render button from within SU, a fluent animation will be generated, rendering each scene tab as an animation frame.SUanimate is a cool plugin for object animation. Basically it automates the traditional 'layer visibility' animation method, spreading the animation frames over different scene tabs, each with their own visible layer (each layer has a different object location).
Fryrender does a wonderful job rendering the moving objects and camera.
Skindigo however doesn't take 'layer visibility' into consideration when exporting animation.
As a result, the Indigo animation won't show object motion. -
To "johnsenior1973"
Perhaps if more stamp their feet over this issue then maybe, just maybe, Google may decide to make it a priority to fix it. I have found that nowadays that unless you are prepared to make a lot of noise about something it is hoped that you and your complaint will just go away.
However, if I, and others do manage to persuade Google to act on this issue (I may just wet my pants if that happens) then you can just enjoy the benefits.I would not keep banging on about this if SketchUp was still owned by AtLast. They were a small company with limited resources. Google is the exact opposite.
If they really wanted to solve this problem they have everything at their disposal to do so.If you are happy with the situation and have nothing positive to contribute then why not just keep quiet?
Regards
Mr S
Advertisement