Camera rotate upside-down

Hello everyone,

I have a question. It is possible to rotate camera vertically ? I am trying rotate camera but it is never upside down.

So I see this:

But I want see this:

Thank you for answers and joining discussion :slight_smile:
Happy developing

2 Likes

May be this can give you an idea:

Unfortunately, this is not what I am looking for. :frowning:

But thank you for answer :slight_smile:

Just use camera.CFrame to rotate it upside down.

You’ll need to multiply the CFrame by CFrame.Angles(math.rad(180),0,0)

3 Likes

Although this is apparently simple, if you search this forum for “upside down camera”, you will find that apparently there is no way, for some reason.
I tested it, even leaving CameraType as “Scriptable” but it didn’t work.

Sorry, if it didn’t work try using

CFrame.Angles(0,math.rad(180),0)

And

CFrame.Angles(0,0,math.rad(180))

1 Like

You can rotate it but this will wtill show you first image, Its something like autorotate

Set the cameramode to Scriptable.

Yes, it is. You can’t rotate camera without it but it never come to upside down

Are you doing something wrong, since I can get it to go upside down.

Did you try?

1 Like

Try this in a LocalScript:

local Camera = workspace.Camera
for i=0, 18 do
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera.CFrame *= CFrame.Angles(0, 0, math.rad(10))
	wait(0.1)
end

It will rotate gradually in a loop.
However, I don’t know why, if you try the same without a loop, it won’t move the camera…

local Camera = workspace.Camera
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame *= CFrame.Angles(0, 0, math.rad(180))
wait(10)

It could be because the camera takes time to load in.

This is working for me:

local Camera = workspace.Camera
for i=0, 1 do
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera.CFrame *= CFrame.Angles(0, 0, math.rad(180))
	wait(0.1)
end

1 Like

Using loops where they are not needed, is probably not a good idea.

(post withdrawn by author, will be automatically deleted in 1 hour unless flagged)

You are right, sorry.

local Camera = workspace:WaitForChild("Camera")
wait(1)
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame *= CFrame.Angles(0, 0, math.rad(180))
1 Like

Thank you guys, its great to hear its possible and also for instructions :slight_smile:

2 Likes

Thanks!

This is what I am exactly looking for!

3 Likes