Please add this feature : In earthquake action add shake direction in x or y or both . I need to shake screen only in y direction move .
I know, you didn't ask for a Shader, but I quickly wrote a Shader that will do the Job for you.
Here is a Script, have it as Definition-Script:
eff = "QuakeY"
shader_effects[eff] = { shader = Shaders[eff].Compiled }
shaderAddEffect("QuakeY")
bind(eff, "QuakeY_Strength", field("Values.QuakeY_Strength.Int"))
bind(eff, "QuakeY_Speed", field("Values.QuakeY_Speed.Int"))
bind(eff, "time", field("getTime()*0.001"))
Then create a Shader with the Name "QuakeY":
#ifdef GL_ES
precision lowp float;
precision lowp int;
#endif
uniform sampler2D texel;
varying vec2 uvVarying;
uniform float QuakeY_Speed;
uniform float QuakeY_Strength;
uniform float time;
void main ()
{
gl_FragColor = texture2D(texel, vec2(uvVarying.x, uvVarying.y+sin(QuakeY_Speed * time)*QuakeY_Strength*0.0001 ));
}
Then create two Values named "QuakeY_Strength" and "QuakeY_Speed", anywhere you want (Protagonist maybe), and set them to some Value between 0 and 100. For Speed I suggest 100 as a Default, and then you can set the Strength as a Value to 100 in whatever Action you need it and right after that Actionpart add this little Tweening-Script to let the Camera quake and shake with an Amount of 100 getting smaller within 2000 Milliseconds:
Values.QuakeY_Strength:to(2000, {Int = 0}, easeQuadOut)
I know the Setup looks complicated, but once that is done, you'll have good and easy Control over your vertical Quake-Effects. It could be extended so you can control both X and Y, but maybe you can do that on your own, as a little Exercise, if you need it.