Avoiding Zooming Curve Tutorial With Examples 🌙 ✨

Hello everyone, I was motivated by this post by Dara to make a detailed thread on this matter/subject :heart: :sparkles:

Let’s start :smiling_imp: :smirk: :fist_bump: :sparkling_heart:

1. Background Info on Zooms:

When you zoom into a scene (you’re on the default zoom, @zoom reset = @zoom on 0 0 to 100% in 0) it goes smoothly. But sometimes, when you’re zoomed in and then trying to zoom out, it’ll curve.

Zoom code using symbols (you’d replace with numbers):

@zoom on X Y to #% in S


X is the first number, it’s the x-coordinate, your zoom going from left to right or right to left (higher numbers to the right, lower to the left. These numbers change as you move across zones.)

Y is the second number, it’s up-down (higher numbers up, lower numbers down)

#% is the percentage (100% is default)

S is the time in seconds.

An example of a zoom:

@zoom on 49 113 to 105% in 0

2. Zoom Curving (When it will curve):

Now back to the topic of zoom curving. It will happen when your X Y coordinates AND percentage are different.

So for example:

@zoom on 57 179 to 299% in 0 — > @zoom on 295 91 to 102% in 2

As you can see, the X Y from one zoom (57 179) changes when it goes to another zoom (295 91) Both X Y are different. Same applies to the zooms (from 299 to 102) is different. Because X Y are different, and % is different, you will notice a curve.

3. Avoiding A Curve:

The first, easy way:

@zoom reset — > zoom to any area in scene (will not curve)

To avoid a curve and have it run smoothly, aside from starting from default zoom, when going from one area to another, you need to have the same #% or the same X Y coordinates.


A. The case where X Y are the same when zooming from one place to another. the --> means it goes from that zoom to another.

@zoom on 57 179 to 415% in 0 — > @zoom on 57 179 to 299% in 5

Notes: (no curve since X Y coordinates are same from one area to another). X Y = 57 179

B. The case where % is the same (X Y don’t have to be):

@zoom on 54 333 to 415% in 0 —> @zoom on 57 179 to 415% in 5

Notes: (no curve since % are the same from one area to another). % = 415%

If your Y are the same but X different, assuming percentage is different when going to another area, it will still curve. If your X are the same but Y different it will still curve when going to another area (again, assuming percentage is same).

4. Code to Test Out (can paste it into a script in one of your stories:)

Code showing smooth zooms vs curved zooms in action


&zoom reset

&speechbubble reset

Right now, we’re on the default zoom.
Let’s zoom into a spot.

@zoom on 54 333 to 415% in 5

It runs smoothly.
Let’s zoom to different X Y values while percentage is same.

@zoom on 57 179 to 415% in 5

It ran smoothly.
Now let’s zoom out with same X Y coordinates.

@zoom on 57 179 to 299% in 5

It ran smoothly.
Now let’s zoom to an area with different XY values and different percentage.

@zoom on 295 91 to 102% in 2

Uh oh! It curves.
Changing the XY and % led the zoom to curve when we zoomed out.

So in order for smooth curve, you start from default, use same X Y or same % for your zoom.

If you think this will be bothersome, don’t fret because there is a way to get to your desired spot.
Let’s say I’m at this zoom: @zoom on 87 339 to 400% and want to get to @zoom on 49 113 to 105% (as you can see, different X Y and different percentage values).
First, let’s try the zoom.

@zoom on 87 339 to 400% in 0

@pause for 2

@zoom on 49 113 to 105% in 2

It curves! We can, using what we know do something like this:

@zoom on 87 339 to 400% in 0

@pause for 2

@zoom on 87 339 to 105% in 2.5 then zoom on 49 113 to 105% in 0.5

See what I did?
I zoomed from the current place I was at to another area that shared the same X Y (87 339) and then
I zoomed to my desired spot of zoom on 49 113 to 105% because it shares the same percentage (105%) from where I’m zooming.
Hope this makes sense!
What if your X are the same but Y value different?
Assuming percentage is also different when going to another area.
Let’s look at an example:

@zoom on 87 339 to 400% in 0

@pause for 1

@zoom on 87 113 to 105% in 2

Even though X (87) is same for starting and going to zoom, it still curves.
Let’s see the same scenario, but for Y (second value) this time. (Y =113)

@zoom on 49 113 to 415% in 0

@pause for 1

@zoom on 262 113 to 110% in 2

As we can see it curves.
So X Y need to be the same (no, not same like both numbers have to be 70 70 for one zoom).
I meant same as in the spot you’re zooming from (87 339) needs to the same as the spot you’re going to (87 339).
Or they can be different, but that means the percentage from one zoom to another in your scene will the same.
Thanks for checking this out!

&zoom reset

Feel free to try out your own zoom codes <3 <3 <3

Video on the zoom curve in action:

Thanks for checking this out, have a great day/night, much love, JemU776 :crescent_moon: :blob_hearts:

This tutorial focuses on getting a smooth, straight linear zoom and how to avoid a curved zoom (or any strange type of zoom that may not look strange to you but does to another person). If you’d like, you can add easing functions to your zoom. If you like the curved zoom or you find the zoom interesting, feel free to use it. This tutorial is for if you do run into the zoom curve issue and want to do something about it because you want the zoom to follow a straight, smooth, linear path :sparkles:


Okay but… thank u sm!!! I’ve been wondering how ppl do this for ages…

giphy (2)


I stan. :joy:


Hi just note from my experience -

you can have different % and different coordinates (only one of them has to stay the same not both)
And it will not make curve - I never experienced curving efect by this to be honest.

@zoom on 57 179 to 415% in 0
@zoom on 200 179 to 299% in 5


Can you guys show a video of what zoom curving is and why it’s such a problem? I feel like I heard of it before but idk


simple the camera by the zoom is not going in streat line - sometimes with really big differences you migt realy experience how it gos to side first and only then to goes up or down - so your characers can get out of the forus for a moment.

I assume its because the script is not able to calculate the straight line withs so many different things.


That happens to me as well where I don’t get a curve (esp. if you’re zooming to another area close in range) however this is for what to do if you do get a curve and why it happened when you were zoomed in and then zoomed out. IMO, it’s much more noticeable if you lower the number of seconds (ex. 1). For my example code, I picked numbers that show the zoom curve in action (feel free to post the script in your story and test it out).

It’s recommended you first try zooming from where you are at your desired position. If you do notice a curve, then it is because of this.

1 Like

I think maybe it’s a matter of an opinion when it comes to curves because this example to me isn’t a curve, it’s actually just zooming down and out as it should look with those coordinates but not in a curved way in my opinion. It looks fairly normal to me but just a different way to zoom out but it’s still tidy. What I consider as a curved zoom is looking way more wonky than that like where it’s literally curving lol in my experience, I think as long as you match one of the set of numbers (meaning either the x or the y or the %) to the previous zoom one, as Farah was saying, it won’t curve but I think in general this thread helps give the idea of how to fix weird looking zooms and curves. And giving them an idea on how to get it leveled too is very helpful because I see a lot of people struggle with zooms.

1 Like

yes that what I meant - especially with the 1 coordinate kept the same it’s not really curving it’s more looking like if it has some easing effect sometimes - :blush:

But I get that Jem means that to have it perfectly smooth linear with all the time same speed it then both coordinates will work best.


That’s actually a really good way to describe that, “a type of easing effect” :relaxed: but yes I definitely agree to have a more smooth linear zoom would be to keep both coordinates like Jem was showing.
I also didn’t consider switching percentages first while keeping the x y to transition to the different zoom to avoid a weird transition. So that’s a new idea to me. :nerd_face: :memo:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.