Libgdx динамически анимирует буквы - PullRequest
1 голос
/ 13 июля 2020

Я хочу анимировать любой случайный текст, например этот gif

enter image description here

How can I animate letters like this or animate differently. I just want to make letters more lively. Any other animation will also work, I want the approach for animating letters like in after effects. But After effects animation will be imported as a picture. I want to apply animation on any given text.

Edit: @Tenfour04

I tried applying shader on red gradient image as you mentioned, but no luck, shader is rendering white image.

enter image description here

I got black and white image :(

введите описание изображения здесь

Моя функция рендеринга и создания:

public void create () {
    batch = new SpriteBatch();
    ShaderProgram.pedantic = false;
    t = new Texture("grad.png");
    shader = new ShaderProgram(Gdx.files.internal("vert.vert"), Gdx.files.internal("frag.frag"));

    sprite=new Sprite(t);

}

@Override
public void render () {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    if(time<1)
    time+=Gdx.graphics.getDeltaTime();
    else time=0;

    shader.begin();
    shader.setUniformf("u_progress",time);
    shader.end();

    batch.enableBlending();
    batch.begin();
    batch.setShader(shader);
    sprite.draw(batch);
    batch.end();

}

Мой фрагментный шейдер:

void main() {
    vec4 tex = texture2D(u_texture, v_texCoords);
    float opacity = step(tex.r, u_progress);
    gl_FragColor = vec4(v_color.rgb, v_color.a * tex.a * opacity);
}

PS Это мой первый пользовательский шейдер, поэтому понятия не имею, что пошла не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...