How do I make the camera rotate left and right when I press Q or E then A and D


im trying to make like 3DMG camera system
Like the title says, hope someone can help me

Are you referencing to Apeirophobia’s Tilting?

1 Like

camera tilt = from apeirophobia!!! :open_mouth:

anyways you can utilize UserInputService and detect if a certain key is pressed down, then you could tilt the camera on an axis

3 Likes

I don’t quite understand what you mean:v

What i meant is that the image is very similar looking to the tilting system from Apeirophobia

maybe you should learn more about luau before you attempt stuff like this

try out this code:

local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local Camera = game.Workspace.CurrentCamera
local Tilting = false
local TweeningInformation = TweenInfo.new(
	
.3, -- Length
Enum.EasingStyle.Linear,
Enum.EasingDirection.In,
0, -- Number of times the tween will repeat	
false, -- Should the tween repeat?
0 -- Delay between each tween	
)

local BeganBinds = {
	Q = function(object)
		--local TiltRight = Humanoid:LoadAnimation(script.Animation)
		--TiltRight:Play()
		if not Tilting then
			Camera.CameraType = Enum.CameraType.Scriptable
			Tilting = true
			local Goal = {CFrame = Camera.CFrame * CFrame.Angles(0,0,-25)}
			local Tween = TweenService:Create(Camera, TweeningInformation, Goal)
			Tween:Play()
		end
	end;
	E = function(object) 
		--local TiltRight = Humanoid:LoadAnimation(script.Animation)
		--TiltRight:Play()
		if not Tilting then
			Camera.CameraType = Enum.CameraType.Scriptable
			Tilting = true
			local Goal = {CFrame = Camera.CFrame * CFrame.Angles(0,0,25)}
			local Tween = TweenService:Create(Camera, TweeningInformation, Goal)
			Tween:Play()
		end
	end;
}

EndedBinds ={
	Q = function(object)
		--Stop Animation here
		local Goal = {CFrame = Camera.CFrame * CFrame.Angles(0,0,25)}
		local Tween = TweenService:Create(Camera, TweeningInformation, Goal)
		Tween:Play()
		Tween.Completed:Wait()
		Camera.CameraType = Enum.CameraType.Custom
		Tilting = false
	end;
	E = function(object) 
		--Stop Animation here
		local Goal = {CFrame = Camera.CFrame * CFrame.Angles(0,0,-25)}
		local Tween = TweenService:Create(Camera, TweeningInformation, Goal)
		Tween:Play()
		Tween.Completed:Wait()
		Camera.CameraType = Enum.CameraType.Custom
		Tilting = false
	end;
}

UIS.InputBegan:Connect(function(object, processed)
	if not processed then
		if BeganBinds[object.KeyCode.Name] then
			BeganBinds[object.KeyCode.Name](object)
		end
	end
end)

UIS.InputEnded:Connect(function(object, processed)
	if not processed then
		if EndedBinds[object.KeyCode.Name] then
			EndedBinds[object.KeyCode.Name](object)
		end
	end
end)

i found this code with 10 seconds of searching from this post

the code uses UserInputService and detects if the Binds are pressed and rotates the camera

2 Likes

But yeah, this will definitely get you somewhere in this topic

1 Like

This works, just tried it out.

2 Likes

How do i make when i hold Q or E then i pressed A or D the camera moves to left or right

dude how many times do you want this stated

look up a tutorial on youtube of how to use the service. dont be asking us to make full systems for you when you have no knowledge of how to do it yourself

I have made a complete system but I don’t know much about cameras

I only do this part in my old system when I press Q or E then A or D

I’m sorry that my explanation is not complete enough to cause your misunderstanding

OMGGGGGGGGGGGGGGGGGG I did it successfully