Hello! I’m trying to create an aerial animation in which you circle a building. Right now I’m using scenes and animating between the scenes but the jump is distracting.
I created a circle around the building, and placed cameras tangent to the center of the circle then created scenes from those cameras.
All of the cameras (actual cameras using advanced camera tools) that were used to create the scenes have the same Z value. When going from scene to scene (Scene transitions) or in the animation created from export animation the view that you have goes up and down along the Z axis.
I would like to know if there is a way to change this (I could not find a setting in Animation panel of the ModelInfo dialog that would allow me to disable the “jumping”)
The only time I’ve seen this (moving up and down,) is with the “ViewSpinner” animation example that comes with the “Examples” extension (… but it doesn’t use scenes.)
@Lunar: Can you please make a copy of the SKP file and give it a new filename. Then edit that new file by selecting the whole model and delete it. Create some simple 3D shape at the origin, like a cube. But leave all the scene pages with the ACT cameras intact. Purge the model of unused materials and components. Then post the model here for someone to look at.
Page Camera Inspection:
Scene Page: Scene 1
Camera Eye : Point3d(293.688, 0, 135.188)
Camera Target : Point3d(-655.509, -40.1371, -40.3036)
Camera Up : Vector3d(-0.181484, -0.0076741, 0.983364)
Scene Page: Scene 2
Camera Eye : Point3d(0, -293.688, 135.188)
Camera Target : Point3d(-68.8358, 668.729, 86.2181)
Camera Up : Vector3d(-0.00361608, 0.0505577, 0.998715)
Scene Page: Scene 3
Camera Eye : Point3d(-293.688, 0, 135.188)
Camera Target : Point3d(667.328, 57.1646, 54.1682)
Camera Up : Vector3d(0.0837127, 0.00497953, 0.996477)
Scene Page: Scene 4
Camera Eye : Point3d(0, 293.688, 135.188)
Camera Target : Point3d(23.8391, -668.309, 49.2992)
Camera Up : Vector3d(0.00220236, -0.0888732, 0.996041)
@Lunar: Meaning that your camera tilt is changing from scene to scene. It may be easier to set a common target point that is in the middle of all camera positions. Sometimes people use model.bounds.center or the bottom middle of the model bounds, as the common camera target.
OK, Did that. (Wrote a Ruby loop that set all the scene cameras to the bottom middle of the model bounds.)
Confirmed. The native animation loop slightly increases the camera position’s z value, peaking mid-way through the transition. This makes the camera appear to hop from scene to scene.
(I never noticed this before because I use my own spin animator script.)
Most of my SketchUp “videos” involve orbiting around my model and creating scenes. I then export the animation and upload it to YouTube where I add one of their inane (but free) audio tracks. The hopping up and back down during the scene transitions has always been a source of annoyance for me, but I’ve accepted it and moved on.
Interpolating from one scene to another should be a simple linear transformation between the initial camera location and orientation vector to the next location and orientation. The hopping up and down is indicative of a non-linear transform … note that if you place the camera in the X/Y plane (or otherwise orient it horizontally), the animation doesn’t hop up and down at all. This is the special case where the camera up vector is exactly [0,0,1] for the start and end frame.
[added] Okay … I get it now. The transform is linear, but it’s from two points between which it is desired to be rotated in transition, but it moves in a straight line across the model while adjusting the camera angle. Although it gets closer to the model and then further away, this is not evident as the focal length never changes and it gives the appearance of hopping up and back down. I used @DanRathbun’s code snippet to create lines for two simple scenes in the attached model … the camera view from the halfway point along the line of sight is what’s displayed in the animation about halfway through the transition.
I made a dumb assumption that if the target was the same, and the distance to target was the same, and if the camera positions were in the same plane,… that the native animation code would somehow “know” that we wanted a spin around target animation (where the camera path is a circle.)
Must be why I had originally wrote my own spin animation script.
Thanks for the epiphany, Jim.
I also had not realized that the native animation code was also transforming the camera target for each frame. (Makes sense though.)
@Lunar: You realize that the workaround is more than 4 scenes, with each having a camera located on a planar circle, and set the camera target for all scenes to a point somewhere on the z-axis of the camera circle. I’d suggest at least 16 scenes.
Are there any other better solutions? For what I’ll be doing it’ll probably end up being 32-64 scenes. I will be using advanced camera tools so that the view angle and Z-Location will be the same.
I’m not blaming anyone, I just would like to look at the script if it still exists anywhere as I’m having some issues with animation with Ruby and I am hoping to find some clues.