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.
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.
Savage.
I experimented with this myself, and now I’m extremely thankful that Roblox has 120 FOV limit.
This stuff is insanely trippy.
Last mode looks more like this Star Wars ship’s boost so.
May the force be with you.
Yeah it’s almost like a warp effect, but horrifically nauseating.
https://puu.sh/yRlbr/8701ed53bd.gif
I needed it for the warp effect, Because in my game people can do a hyperjump
Trippy
That’s at fov=179
Traveling through galaxies, neat.
I guess time to make a star-wars-like game.
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.
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)
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.