Help us understand the problem. What is going on with this article?

Flash(Animate)使いのためのglslメモ

More than 1 year has passed since last update.

はじめに

glslがあれば、Flash CC(Animate CC)が出来ることは何でもできます。そう、理論上はね。

但し、Flash CC(Animate CC)の機能を自分glslで実装する必要があります。
これはFlasherのためのメモです。

イージング関数を使うかどうかで、アニメーションの見栄えがぐっと変わってきます。

尚、glsl自体は状態の保存が出来ないので、動画の生成には向いていません。

イージング関数

イージング関数早見表

glslによるイージング関数の実装方法のサンプルはこちら

こちらで用意されているイージング関数は入力される引数tが0~1の間になっています。
というのも、開始時間を0秒、終了時間を1秒とすると、例えば、easeInCubicはt^3ですがt=1のときに返り値が1になって都合がいいからですね。
但し、アニメーションの時間が1秒ジャストである場合には良いのですが、例えば2秒とかになった場合にこのままだと使えません。

float linearstep(float begin, float end, float t) {
    return clamp((t - begin) / (end - begin), 0.0, 1.0);
}

そこで、アニメーションの秒数が1秒ではない場合、linearstepという関数を使って任意の時間を0~1に置き換えてから各イージング関数を使います。

easeInCubic(linearstep(5.0, 5.25, t)) * 2.0;

そして、アニメーション速度を変更したい場合は、全体を掛けたり割ったりすればいいですね

ライブラリはこちら

シェイプのモーフィング

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away