Getting the players FOV above the imposed 120 limit

  1. What do you want to achieve?
    I would like to be able to increase the LocalPlayer FOV above the imposed limit

  2. What is the issue?
    All the solutions I’ve tried don’t seem to work

  3. What solutions have you tried so far?

  • I have tried @NowDoTheHarlemShake’s solution in this post however it doesn’t really increase the FOV, just stretches the screen out.
  • I’ve also tried editing the PlayerModule script to no avail.
  • Another thing I’ve tried is manipulating the Roblox metatable __index to return 360 when FieldOfView is invoked but the 120 limit didn’t change

Is there any way that I’d be able to achieve this?

local camera = workspace.CurrentCamera
camera.FieldOfView = 70
print(camera.FieldOfView)

Local script, place inside a suitable location for local scripts.

My bad, I just realised you’re trying to supersede the 120 degree limit.

Check out this post:

1 Like

Thats the post I linked on top. The solution was posted by NowDoTheHarlemShake, however it doesn’t provide what I’m looking for

Oh, sorry. I wasn’t paying much attention.

I’m going to give editing the memory values a go, and if that doesn’t work I’ll also try using Ghidra maybe I can find something to help me achieve this goal

It’s likely hard coded in the engine. Why are you trying to do this? Maybe there’s a better alternative.

Im trying to do this for video recording reasons. I also agree that it’s most likely hard-coded into the engine as simply changing the values doesn’t seem to have any effect. I wonder why roblox clamped the value to 120 though.

Hm. Maybe you could do something like move the camera every render frame. Like if you wanted a “180 degree” FOV you could have it look at the left 90 degrees one frame, and the right 90 degrees the next, and so on.

Then you’d have to do some fancy post processing on the video and stitch every other frame left and right of a larger video? So the frame rate would be halved, but the visible area would be doubled.

That’s way out of my knowledge area, though. Depending on what you need exactly it may be good enough. The distortion at the seam would be weird and possibly unuseable.

It seems to be the reason. However, I do wish that us developers would be able to increase the FOV beyond this limit. I understand that it’s not feasable for certain devices, however I am more than certain my PC would be able to run hight FOV values. I mean, it’s able to run 16K roblox so why not a high FOV? However, it’s more than likely a limitation with the rendering technology being.

also you have to place the script in starterplayerscripts

turns out you simply cant get to 180 mathematically, this is at 170

here is the file, @weeeeeeeeeel
tricks.rbxl (33.7 KB)

You could also increase the FOV of the camera along with the script.


Pretty warped

Huh. Reminds me of the Putin walking memeAnimation

1 Like

if this is what you wanted you should mark it as a solution so it helps with SEO tools for other people looking for a answer

Not really. Im looking for a 360 FOV view, however this may be useful for people going from 120-170 so I’ve marked it as the solution. I will keep on looking though

That’s exactly what a high FOV looks like with perspective projection. The way other engines fix this is by using other proiection types like Panini projection or screen space effects.

i dont think you understand that a 360 fov doesnt really exist, those things you see of those 360 videos are actually just 2d hdr images, what do you want? that on a 2d screen like this?

I understand that they are just 2d hrd images. I am trying to get it like that to then turn it into a 360 video.

Besides that, the max I was able to push the FOV to (without the black gaps) using your matrix module was
camera = (mat4x4.new(false):perspective(179.99999953, 0.1, 100))