"Neutralize" exponential "acceleration" in "infinite" zoom

Hi!

I have created 10 meshes inside one another, so from super big to super tiny … and the camera goes through a hole until the very last one … but the animated camera (just keyframed from point A to point B) feels like accelerating exponentially when getting to the tiny mesh …

How can I “neutralize” this “acceleration” so the camera looks like going at the same speed all the time?

Thanks in advance!

By default you get an speed up / slow down curve.
You can change this to linear in the graph editor:

Thanks for your response! I know what is linear and bezier interpolation :slight_smile:
But this is not the case, since the meshes get smaller and smaller, the distance gets also smaller, and the camera takes much less time to travel this distance inside the next tinier object … but I want it to look like the “zoom” speed is the same all the time … so it would be like the opposite of exponential

Any idea how to get this?

Well, it is a curve you need.
Mathematicly you have to calculate the “zoom” speed.
Which if you want it correct is quite a heavy task. You have to calcuate to change the speed after passing a mesh from the distance and size difference to the next mesh. And you want it smooth without big changes in speed after passing a mesh, so you need to interpolate. And i guess the camera focal is involved too. Also you want the texture stay at the same visible resolution.

I guess it would be easier to change the sizes to real distances and size.
It is not possible?
Are the differences to much?

Maybe there is an easy geometric solution. Can you upload file?

can you please show us how your meshes look like? or let us now the distance and the scale values. Thanks

I found this thread:

Would that expression in a driver help me?? …I tried it, but I couldn’t make it work.

Thank you !!

How can I share with you the distances between the meshes?

Actually I am using an expensive mesh from an artist and I know he wouldn’t feel good if I post it online, like sharing the blend file with the mess seems wrong to me in this situation … What do you do guys in such case? :sweat_smile:

Depending on your setup you could collapse the cubes to a single point where the front face is. So delete all faces other that front face. Then merge each face to a single vert.

This will leave you with 10 verts in a line (presumably) which will be yr distance between objects.

The size is still needed for each point, so maybe a quick created bounding box or applied decimate modifier.

Or are the sizes proportional to the distances?

just replace your mesh by a cube with same size/rotation and delete all objects which aren’t necessary, then copy/paste the blend file in here

1 Like

I would suggest, keep the camera still, and instead scale your objects (and perhaps brighten your lights by the square of the scale.)

Otherwise, you’d probably want a driver for something somewhere, and it would probably be some variation of e^x, but my math isn’t good enough to tell you for sure.

1 Like

Hi! There’s this expression for a driver (parenting the camera to an empty):

(1 - log(target + 1 - var, target)) * (target - 1) + 1

Where target is the scale you want at the end of the animation (in my case, it was 3), and var is the input variable of the linear scale.
So for the video above, the driver panel for the X, Y and Z scale properties

I saw it in this post: Animating logarithmic scale loop - #4 by marf

But I couldn’t make it work

Thanks guys for the answers… actually I find a bit complicated everything you suggest. I am kind of dummy …

Isn’t there just a simple way to slow down a keyframed mesh from point A slowing down as it reaches point B?? … It sounds kind of a simple concept for me … there should be a way to do it …

Actually it’s just an inverted exponential curve

The graph editor is where you need to be doing this work.
Look at interpolation modes and easing types. What you describe as wanting is a little picture in interpolation modes called bezier.
Or, use ease out for this purpose and exaggerate it as needed.

1 Like

Yeeeesssss
Exactly, that’s it! I knew it couldn’t be so complicate
Now I tried and somehow it¡s strange because as I change the interpolation mode only to one curve (Y location), it’s also affecting the X location

But I see these parameters are the ones I need to tweak!

Thanks a lot for your response!

1 Like

This community is amazing, I just asked a little thing like three weeks ago in the Unreal Engine forum, and I am still waiting for a sign of life! :sweat_smile: