Hacky camera manipulation in Egg Hunt 2018


I know this is kinda late, but I have always been interested in how Fifteam manipulated the camera for the Ready Player One event. Anybody know how to do this?

2 Likes

I am not sure how this was realized either but probably by tweening the camera around and messing with the FOV settings.

1 Like

FOV maxes out at 120, so it cant be.

1 Like

Maybe this can help. Increase FOV to higher than 120?

3 Likes

Here’s the code for the camera effects for heartbeats and the zoom/spiral

-- (...)

-- setup camera and distort
local cam = workspace.CurrentCamera
cam.CameraType = Enum.CameraType.Scriptable
local start = cam.CoordinateFrame
local distort = Instance.new("NumberValue")
distort.Value = 1

-- camera spiral handler
game:GetService("RunService").RenderStepped:connect(function()
	cam.CoordinateFrame = start*CFrame.new(0,0,0,distort.Value,0,0,0,distort.Value,0,0,0,1)
end)

-- heartbeats
for i = 1,4 do
	wait(.3)
	script.Heartbeat.Volume = i/4
	script.Heartbeat:Play()
	local tween = game:GetService("TweenService"):Create(distort, TweenInfo.new(0.275, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 1, true), {Value = 1 + .06 * i})
	tween:Play()
	tween.Completed:Wait()
	script.Heartbeat:Stop()
end

-- play zoom
script.Zoom:Play()
game:GetService("TweenService"):Create(script.Zoom, TweenInfo.new(10, Enum.EasingStyle.Quad), {Volume = 0.7}):Play()
-- play distort towards fov 120
game:GetService("TweenService"):Create(distort, TweenInfo.new(4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Value = 0.0000001}):Play()
-- play spiral
local startTime = tick()
game:GetService("RunService").RenderStepped:connect(function()
	local speed = math.min(tick()-startTime, 20)
	start = start*CFrame.Angles(0, 0, math.rad(speed))
end)

-- (...)
10 Likes