The camera should move at the default speed after holding shift

As a developer, observing small details with the camera is difficult because the camera can be sent flying after holding shift.

The camera in Studio has two speeds: Camera Speed and Camera Shift Speed. When moving the camera normally, the camera’s speed starts at Camera Speed and increases linearly over time. Here is some crudely collected data to show this.

Suppose I hold shift to move at Camera Shift Speed. When I release shift, the camera still moves at the accelerated speed. This is unexpected, as I go from moving very slow to very fast.

In this third example, I press shift a few seconds after starting to move.

Once again, the accelerated speed is resumed after releasing shift. And to really drive the point home, you can watch me do it.

What I expect to happen in all of these examples after releasing shift is for the camera to move again at the original Camera Speed. It should not move at the accelerated Camera Speed. Something like this.

I expect this because changing speeds from Camera Shift Speed to the accelerated Camera Speed is jarring. I am most likely holding shift to look at a small detail. After releasing shift, I do not want to be sent flying away and lose my place.

EDIT

It was requested I include my methodology for collecting the data. Here’s the code, it’s a simple distance / time. I saved it to a file and ran it using Run Script. Then I pasted the output into Excel and graphed it. I suspect the exact measurements are wrong but the general shape of the data is correct.

local RunService = game:GetService("RunService")

local t = tick()
local lastP = workspace.CurrentCamera.CFrame.Position
local lastT = tick()
while tick() - t < 20 do
	local nowP = workspace.CurrentCamera.CFrame.Position
	local nowT = tick()
	print(string.format("%s\t%s", tostring(nowT - t), tostring((nowP - lastP).Magnitude / (nowT - lastT))))
	
	lastP = nowP
	lastT = nowT
	
	RunService.Heartbeat:Wait()
	RunService.Heartbeat:Wait()
end
45 Likes

I’m absolutely in favor of this change! I use the shift speed modifier quite often when navigating through maps in my game, and thus stumble upon the camera randomly flying away into the void every couple or hours. There is no nice way to get back to where you were either, once it flies away you just need to retrace your path with much slower speed and continue where you left of.

I doubt anyone likes the current behavior as it feels like poor UX too.

12 Likes

Thank you for such a thorough analysis! We will look into this. I can’t promise a timeframe given other things going on, but it’s on our radar.

7 Likes

This issue is now fixed, thank you for bringing it to our attention!

13 Likes

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