1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GPU で暖を取りたい人のための GLSLAdvent Calendar 2017

Day 23

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

Last updated at Posted at 2017-12-26

はじめに

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;

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

ライブラリはこちら

シェイプのモーフィング

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?