Increase FOV to higher than 120?

maybe the actual build is elongated? For the wood parts this can be achieved by using extended spheremesh using wood material, or you can make a custom texture that’s stretched. Combine that with FOV 120 and you got that effect.

3 Likes

@NowDoTheHarlemShake

2 Likes
game:GetService("RunService").RenderStepped:connect(function() 
	if (distort > 0.001) then
		cam.CoordinateFrame=cam.CoordinateFrame*CFrame.new(0,0,0,distort,0,0,0,distort,0,0,0,1)
		distort = distort - 0.001
	end 
end)

This is how the black hole effect is done. The R00 and the R11 of the cam’s coordinate frame must be constantly updated (on render stepped), otherwise the camera just resets.

R00 distorts the camera on X axis, R11 distorts on the Y axis.

So if you just want a constant FOV, just render step set the R00 and R11 with a constant number.

I do agree though that FOV shouldn’t be limited to 120.

93 Likes

Savage.
I experimented with this myself, and now I’m extremely thankful that Roblox has 120 FOV limit.
This stuff is insanely trippy.

16 Likes

Last mode looks more like this Star Wars ship’s boost so.

May the force be with you.

3 Likes

Yeah it’s almost like a warp effect, but horrifically nauseating.
https://puu.sh/yRlbr/8701ed53bd.gif

5 Likes

I needed it for the warp effect, Because in my game people can do a hyperjump

1 Like

Trippy

3oFzmpg5igRXP7qZPO

That’s at fov=179

12 Likes

Traveling through galaxies, neat.

I guess time to make a star-wars-like game.

3 Likes

maybe you could use that for the effect and then a 3d gui to show a spaceship. Although I dont know if parts displayed with a GUI get affected by the POV or not

Would have to be 2D UI or it would also get warped.

2 Likes

can the cam variable be, local cam = game.Workspace.CurrentCamera? And whats the distort variable

No, it’s like that. And the distort value is that variable.

how do i get this to work? i don’t understand what i’m supposed to do with the cam and distort variables

How did you get this working can you post what you did pls.

local cam = workspace.CurrentCamera
local distort =  0.05

game:GetService("RunService").RenderStepped:connect(function() 
	if (distort > 0.001) then
		cam.CoordinateFrame=cam.CoordinateFrame*CFrame.new(0,0,0,distort,0,0,0,distort,0,0,0,1)
	end 
end)
3 Likes

is it possible to make fov high up to 360?

How would you go about resetting this?

I’ve made my distortion zoom out the camera a ton, but I can’t really reset it for whatever reason.
(I’m setting distort back to 1, but the camera stays zoomed out.)

This looks really cool honestly.
Never knew it can be so buggy lol

Video showing cool effect

A script with a bit of explanation to my knowledge
local squish_x = 0.5 -- the lower, the more quished
local squish_y = 0.1 -- the lower, the more quished
local distort_x = 0.1 -- the higher, the more distorted
local distort_y = -0.1 -- the higher, the more distorted
local weird_2d_looking_thing_fov_maybe = 1 -- the lower, the more...not sure how to describe it, 2d looking?
local breaks_the_camera_or_something = 0 -- didn't find any usecases of these

local cameraOffset = { -- like the shoulder camera and stuff
	x = 0,
	y = 0,
	z = 0
}

local cam = game.Workspace.CurrentCamera

game:GetService("RunService").RenderStepped:connect(function()
	cam.CoordinateFrame *= CFrame.new(
		cameraOffset.x,
		cameraOffset.y,
		cameraOffset.z,
		squish_x,
		distort_y,
		breaks_the_camera_or_something,
		distort_x,
		squish_y,
		breaks_the_camera_or_something,
		breaks_the_camera_or_something,
		breaks_the_camera_or_something,
		weird_2d_looking_thing_fov_maybe
	)
end)

Do you know what the relation is between the distort factor and FOV? I am wondering this because an FOV-to-distort-factor converter would be very helpful if you need a specific FOV beyond 120. This would solve problems experienced in this post and make cutscenes with a fixed aspect ratio more robust for all screen sizes.