Making a camera roll with the plane

I have a game where you can fly planes. However, when rolling the plane upside down, the camera stays right side up relative to the world.
My question is: How would I make the camera also roll with the plane as well? Maintaining the plane’s orientation to the camera, and rolling the world around it instead.

2 Likes

You could try updating the cameras CFrame to players head using RenderSteppeted

You could get the players camera then change the rotation to the rotation of the plane.

I’ve tried to code it, but it rotates 360 degrees at an extremely fast speed.

local plane = game.Workspace.Seat
local currCamera = game.Workspace.CurrentCamera

local function cameraMovement()
	currCamera.CameraType = "Scriptable"
	workspace.CurrentCamera.CFrame = currCamera.CFrame * plane.CFrame.Rotation
end

game:GetService("RunService").RenderStepped:Connect(cameraMovement)

The issue seems to be the RenderStepped, where the camera will rotate at one instance of time, and at another instance, will rotate around itself again, creating a loop. I’m not really sure how to fix this.

Just constantly change the rotation of the camera to the rotation of the plane?

The camera cannot be zoomed and not able to rotate on the x and y-axis.

If you do it in first person, it will glitch out