[Plugin] SketchUp Animation using mover.rb
-
Doesn't work right with components for some reason. During the animation, the components in my animation would all switch to have the axis in the original positions between scenes, so all my components would move around to different positions.
-
This is a complete stab in the dark, as I have not played with the plugin yet. But is it possible the components you're using have been scaled? He mentioned that you will need to right click on components and click on "Scale Definition" if you have scaled them. Another option would be to "Make Unique" I think would also suffice, and that way it would not alter the component definition. Perhaps try that, it might not help at all. Its just a guess,
Chris
-
@unknownuser said:
Doesn't work right with components for some reason. During the animation, the components in my animation would all switch to have the axis in the original positions between scenes, so all my components would move around to different positions.
When I had my components "scaled", I saw this strange behavior as well. Applying "Scale Definition" to the scaled components corrects the problem.
CMD
-
Thanks for the upload of both the ruby as the youtube clip.
Looks like a good solution to get cars running in your scenes.
Too bad there is still no solution to get smoother scene transitions.. -
I dont know if it would work, but perhaps you could mash whaats smoothstep animation and mover together to get smoother scene transitions (it sounds so easy...)
-
That would indeed be nice.
(Not for the people using render software though) -
@unknownuser said:
Too bad there is still no solution to get smoother scene transitions..
Set_transition_times.rb by Morisdov don't make the trick?
(I believe that scene must be writed "scene1, scene 2etc -
It is a good work,but we had another plugin called "mover"already.
so....we can not copy it to the plugins floder.
please solve .. -
leixing, i imagine you could rename it but don't rename the folder that it comes with.
-
I haven't tested this, and I'm not sure its right, but here is a possible fix.
Sketchup keeps a running list of all files loaded. Some rubies pass their name dynamically to Sketchup. So if you rename it, it tells Sketchup whatever it is named. This ruby is not setup like that. It is sending the phrase "mover.rb" no matter what you name the file. I imagine there will conflicts with just changing the file name because of that. Its easy enough to change though.
Change two lines at the bottom from:
FROM: if( not file_loaded?("mover.rb") )
TO: if( not file_loaded?("FILE") )and
FROM: file_loaded("mover.rb")
TO: file_loaded("FILE")After those 2 change, it will be passing the filename to sketchup, whatever it is. So then change the name of the file. It can be anything.
See if that helps. If no one tests it, I'll try it in a bit.
Chris
-
I see it's on the rt-click context menu, but what exactly does this "Be sure to "scale definition" to correct the problem." mean? what is it SketchUp is doingwhen you apply that?
-
If you make a 1m1m1m cube, make it a component, and then scale the component so it becomes 2m2m2m, the component is still internally defined as being one meter in size, and this particular instance as being scaled by 200% in all three axes. This is easily proven by dragging new instances from the Components window: they all will be 1m1m1m.
If you right click on the instance that was scaled to 2m2m2m and right click > Scale definition, now the component is internally defined as being 2m2m2m, and this instance as being 100% in size. Again you can test the change by dragging new instances from the Components window: They will be 2m2m2m. Any 1m1m1m instances you placed before will appear to remain unchanged, but they're now actually stored by SketchUp as 50% size (in all three directions) instances of the 2m2m2m component. (0.5*2m = 1m)
Now this is just my guess; hopefully someone who knows the internal workings will chime in with a better and more accurate explanation.
-
This is extremely important issue with especially texturing. If you scale a component instance (like Miguel described above), the materials applied to the geometry will also scale proportionally (ultimately distorting the whole thing). Now if you scale the definition, the material will "jump back" to its original size. See attached below (I had to make the third component unique first so that the second example remains scaled up with the texture)
-
Fascinating... thanks for the replies, I 'get' it now.
-
PS - the animation by Mover.rb renders great with Twilight Render. I've rendered an animation of a door opening and some sunshade (brise soleil) louvers closing. Great plugin!
What is missing from the plugin:
1)
Pick a "base point" for a group or component about which the animation should happen (a door swinging on a hinge, etc.) It does a pretty good job, so far but it's a little quirky... the door sort of slides a bit into the wall, just like the prob. with Proper_Animation.rb ... but this one doesn't seem to do as bad a job with rotating door-type swings.If you animate a door component rotating open.
Scene1-closed
Scene2-openThen you hit the Scene2 button, then the door is open, then you open the component to edit the door, as you work, you think, hmm... I want that camera angle from Scene1, and hit that scene tab, now the door's parts will do some unpredictable movements, and may disappear completely from your scene... so sure, you can avoid touching scene tabs when editing animated components... but ...
It would be great if it would read the animation of nested components. I had to cut the door panel component away from the frame inside of the "door+frame" door component, and paste that into the base model in order to animate it. This would also avoid having to animate by hand 40 louver blades 1by1... you could animate the object inside the louver component, and copy the component around to still get the same animation results. ... or is there something I'm not doing right here? Is there a trick I'm missing here? What if you animate the door panel, then put it back inside the component, will it keep it's animation after pasting it back into the "door+frame" component?
How can you reset an object's animation to "null" without losing your scene? You have to copy the scene tab, delete the scene and rename it to the correct name, as near as I can tell... and that's very tedious in larger projects like the airport scene shown in the demo vid. But even then, the other scenes are still remembering that object's movement. There needs to be a "reset animation for selected object".
If you animate the object with the model's scene animation settings at 2 second transition and then change that to be 4 seconds it seems that the animation still happens in 2 seconds of the 4 second transition. In my case, when I did this, it sort of "flung" the door open quickly instead of gently swinging it open.
-
@fletch said:
ck a "base point" for a group or component about which the animation should happen (a door swinging on a hinge, etc.) It does a pretty good job, so far but it's a little quirky... the door sort of slides a bit into the wall, just like the prob. with Proper_Animation.rb ... but this one doesn't seem to do as bad a job with rotating door-type swings.
I noticed if the base point is the Origin of the Group/Component the rotation is good. It's when you rotate around another corner that the object moves off the axis of rotation.
-
Thanks Jim,
That's a good place to start(either animating something, or trying to code a fix for it.)
-
Have you made an exportation animation "Avi" with Mover?
Not by the Twilight Render (this is working fine), but from directly Sketchup Export ? (with no render)
-
-
Cool tutorial
Seems you have not use scene 3 and don't make Update Scene
Advertisement