Some way to detect when the camera stopped shaking?
strange, i have it so if you land the screen shakes, and it works once but then all the other times it doesnt shake (nevermind, fixed it)
Very useful! I’m using modified presets
Can you stop a :StartShake() without stopping it all, so i can start an explosion preset afterwards without having to :Start() again?
How do I trigger it from the script? (summon a script)
has anyone found a way yet to make this work with fps unlockers?
Is there a way to change the intensity of the shake while it’s already going?
is there any way i can use this for server script ?
you can’t shake the camera on the server
Where do all these scripts go?
Edit: my first question was stupid
Is there a way to edit the attributes of a continuous shake mid-shake?
I came across with a big problem with EZ Camera Shake not too long ago.
So i have a FPS Unlocker and it makes the Camera Shaker to shake way too much.
Here you can see the ressult:
Without FPS Unlocker
With FPS Unlocker
Also something that is worth mentioning is that i am using the Explosion Preset that the module Provides and it shakes like that in every other preset or other function.
You can find the FPS Unlocker i use here:
Is there a way to make sure the rotation will return back to the original camera rotation when the shake is ending?
EDIT:
The only solution i see is to make the shake less intense to make it not as noticeable.
I figured out how after 2 weeks of searching, you need to loop the camera lerping back to it’s original cframe
sorry for reviving this, but when looking at this script and testing it ingame, it works the other way around, like the farther I get away the more intense the shake gets, the more closer i get the less intense it gets, but i want it the other way around, any help?
I had this exact same problem and after searching on google for a while I found a solution using some complex math:
local Dist = (character.Head.Position - Distance).Magnitude
local Constant = 80
local Clamp = 2
local Damping = 3.5
local DistValue = (Constant/(Dist + Clamp)) ^ (1/Damping)
local Shake = camShake:Shake(CameraShaker.Presets.Explosion)
Shake:SetScaleMagnitude(DistValue)
You can change the body part at the beginning I just prefer using the head.
I also sadly forgot what most of the numbers are but I think the Constant is the base number that decides the intensity if you want to change it.
Also the Distance value at the beginning is just the magnitude between the character and the explosion for what I am using it on just in case you were unsure what it is
Ok im having a big problem with it
If we make simply
CurrentCamera.CFrame *= ShakeCFrame
This is gonna aways add CFvalues to the previous, and its not what it is meant to do unless your camera is still, so its not a propper way to use along with the default camera settings.
Does someone know where can I find the current rotation of the camera as it should be without the shaker CF at the default CameraModule, so I can apply this module correctly?
Uh, nevermind, i solved it by changing the :Start() method to
function CameraShaker:Start()
if (self._running) then return end
self._running = true
local callback = self._callback
game:GetService("RunService"):BindToRenderStep(self._renderName, self._renderPriority, function(dt)
profileBegin(profileTag)
local cf = self:Update(dt)
profileEnd()
callback(cf * self._oldCF:Inverse())
self._oldCF = cf
end)
end
I saved the last shakerCF in a variable and subtracted it on the next change
hey dude i ran into a problem.i dont know how to change the fade out time from local script
for example:
camshake:Shake(CameraShaker.Presets.Explosion)
i wanna change the roughness,magnitude,fadeout time from local script
For magnitude you can do:
Shake:SetScaleMagnitude(num)
though I’m not sure about the rest. Your best bet is to look through the module scripts and do CTRL/CMD + F to search for key words.