I would like to ask, how could something like this be improved?

Currently, I’m making a meditation system for my game. If anything, the only issue I’m facing is how to make the camera follow the player’s view and have all the items move around with the player, but I don’t really know how I’d do so, but I’d love to get some feedback.

["FireStart"] = function(Player)
		local FireGoalsBloom = {
			Intensity = 1,
			Size = 24,
			Threshold = 3.334,
		}
		
		local FGDOF = {
			FarIntensity = 0.1,
			FocusDistance = 0.05,
			InFocusRadius = 30,
			NearIntensity = 0.75,
		}
		
		local FGSunRays = {
			Intensity = 0.208,
			Spread = 0.646
		}
		
		local FECC = {
			Brightness = 0.2,
			Contrast = 0.5,
			Saturation = -0.1,
			TintColor = Color3.fromRGB(232, 140, 34)
		}
		

		local FMM = RS.FireMeditation:Clone()

		
		local CC = Instance.new("ColorCorrectionEffect")
		CC.Parent = Lighting
		CC.Name = "FireEffect"
		---Tweens---
		local BFF = TS:Create(Lighting.Bloom, TP, FireGoalsBloom)
		local FGDOTTS = TS:Create(Lighting.DepthOfField, TP, FGDOF)
		local FGSRTTS = TS:Create(Lighting.SunRays, TP, FGSunRays)
		local CCFTTS = TS:Create(Lighting.FireEffect, TP, FECC)
		
		------------
		
		
		local CAMCREATION = Instance.new("Part")
		CAMCREATION.Parent = workspace
		CAMCREATION.Name = "FireCam"
		CAMCREATION.CFrame = Player.Character:FindFirstChild("HumanoidRootPart").CFrame * CFrame.new(0, 1, -9) 
		CAMCREATION.Rotation = Vector3.new(0, 180, 0)
		CAMCREATION.Anchored = true
		CAMCREATION.Transparency = 1
		CAMCREATION.CanCollide = false
		CAMCREATION.Size = Vector3.new(0.3, 0.3, 0.3)
		
		LOCALCAM.CameraType = Enum.CameraType.Scriptable
		
		LOCALCAM.CFrame = CAMCREATION.CFrame
		
		FMM.PrimaryPart = FMM.MAINPART
		
		FMM.Fire1.Fire.Enabled = false
		FMM.Fire2.Fire.Enabled = false
		FMM.Fire3.Fire.Enabled = false
		FMM.Fire4.Fire.Enabled = false
		
		FMM.MAINPART.CFrame = Player.Character.HumanoidRootPart.CFrame * CFrame.new(0, -8, 0)
		
		local FMMTS = TS:Create(FMM.MAINPART, TP, {CFrame = FMM.MAINPART.CFrame * CFrame.new(0, 10, 0)})
		
		FMM.Parent = workspace
		
		
		
		camShake:Start()
		
		camShake:Shake(CS.Presets.Earthquake)
		BFF:Play()
		FGDOTTS:Play()
		FGSRTTS:Play()
		FGSRTTS:Play()
		CCFTTS:Play()
		FMMTS:Play()
		
		FMM.Fire1.Fire.Enabled = true
		FMM.Fire2.Fire.Enabled = true
		FMM.Fire3.Fire.Enabled = true
		FMM.Fire4.Fire.Enabled = true
		
	end,

The camera shaking is pretty aggressive if you ask me. I’d look for a more slower camera movement and maybe little to none at all. The DoF needs to be more visible, and the surrounding area be blurry. Your screen should also be brighter when you’re meditating, for the more peaceful effect.

Maybe even a higher FOV and the particles in the back being slower.

1 Like

hmmmm put the Camera in the LookVector of the player using CFrame?

1 Like