GSAP愛がぐんぐん育つ

Javascriptモリモリ書くのは難しい私。
そんな中でも、クライアントさんや代理店さんからは

  • カッコイイアニメーションを提案してほしい
  • 見た目で競合と差がほしい

といった要望をちょくちょく頂きます。

…わかります。聴こえてきます、デザイナー界隈からのお声。
なぜそれが必要なのか、話し合いたい😇

デザインの本質ではないですよね。
根拠の無いアニメーションや根拠の無いデザイン。

でも、案件によっては、企画や会議に携わることなく、デザインも他社が作成、コーディングだけの依頼を頂いたときに既にこの状況なこと、あります😅

つべこべ考えず、できることを精一杯するのだ。(と、考えるしかない)
そんなとき、いつも助けられているのがアニメーションに特化したJavascriptライブラリ「GSAP」です。

公式サイトを見れば、おおよそどんなことができるか想像できると思います。

公式ドキュメントは英語ではあるものの、基本的にサンプルコードを拾えば十分活用できます。
また、年々日本語で解説してくれるブログも増えてきています。
お手軽にサイトにリッチなアニメーションを実装することができます。

なんだかカッコイイ、それだけでも喜ばれたり、次に繋がったり、します😇

何より、作業中自分が楽しい、というのはあります😆

GSAPではスクロールに連動してアニメーション制御ができる

現実的にWEBサイトで利用頻度が高いのは、スクロールに連動したアニメーションかと思います。
サンプルを見たほうが早いと思うので、今回は私がよく使う4つの方法をご紹介します。

CodePenを貼り付けるので、触ってみてください。

GSAPでよく使うスクロールアニメーション

画像のパララックス

See the Pen Untitled by キャッスル (@ytgrivsz-the-animator) on CodePen.

CodePenに関する補足

CodePen上では、既にjQueryとGSAPに関するjsは既に読み込んでいます。
・jquery.min.js
・gsap.min.js
・ScrollTrigger.min.js

使用の注意

少し古めのiPhoneやWindowsPCで、「カクつく」と言われることがちょくちょくあります。機能として優先順位が高いものではないので、クライアントさんなどからこの要望を頂く場合は、即、削除します😅
経験上、もがいても解消できた試しがありません😅😅
アニメーション自体が向かない案件もあると思いますが、特にパララックスは提案に注意が必要です。

表示領域に入ったらフェードイン

See the Pen GSAP-scroll-02 by キャッスル (@ytgrivsz-the-animator) on CodePen.

こちらは、以前はjQueryや他のプラグインを使用していたのですが、
どうせGSAPを読み込むことが多いので、GSAPに1本化してシンプルにしました。

表示領域に入ったらクラスを付与する部分のみGSAPで設定、
アニメーション内容はCSS上で設定しています。
好みかと思いますが、細かい表示調整はCSSの方が個人的にはやりやすいので〜。

スクロール量とアニメーション量を連動させる①

See the Pen GSAP-scroll-03 by キャッスル (@ytgrivsz-the-animator) on CodePen.

GSAPらしい使い方で気に入っています😆
CSSマスクの値をスクロール量に応じて変化させます。
強調したい画像に使うと、印象的に見せることができます。

スクロール量とアニメーション量を連動させる②

See the Pen GSAP-scroll-04 by キャッスル (@ytgrivsz-the-animator) on CodePen.

こちらもGSAPらしい使い方😆
タイムラインを使用すれば、CSSのプロパティを順々に変化させることができます。
(上記では、「filter: blur」の変化が終わったあとで、「filter: grayscale brightness」が変化します。)
さらにさらに、タイムラインを2つ走らせることで、CSSのプロパティ毎に、変化率を与えることができます。
(上記では、「filter」の変化と同時に、「scale」を変化させています。それぞれアニメーションの終了位置を異なる値にしています。)

「filter」を変化させるアニメーションは、写真の鮮やかさを強調したいときなど、使い所ですね😊

番外編:慣性スクロールをプラスしてより世界観を出す

最近気になっている「Lenis.js」
何しろ、サイトの手の3Dモデルが頭に焼き付いて印象的😆

今のところ、Windowsで慣性スクロール機能を追加するためだけに、控えめの設定で使用しています。
Macユーザーには変化のない部分ですが、クライアントがWindowsでチェックする方メインなので、クライアントにとってはインパクトのある機能です。
慣性スクロールの使い所は注意が必要ですが、GSAPと組み合わせることで、より印象的なスクロールアニメーションを演出できます。

アニメーションはこのjsで付けたことがないのですが、見た感じ、GSAPと似たような設定はできそうです👀

そして使用事例で掲載されているサイト「DeSo」がゴリゴリWebGLですごいのです😊💦
WebGL使ってみたくてうずうずさせる面白いサイト。