本記事では、動きのスケッチからWebサイトへの実装まで、UIにアニメーションを取り込む際に必要な作成フローを紹介します。この記事を読むことで、Riveを使ったインタラクティブコンテンツの制作方法が学べます。
前編に続き、後編ではユーザーの操作を検知してアニメーションの状態遷移させる設定を作り、アニメーションを完成させてから、実際にWebサイトに表示するまでを実践します。
>>> 前編はこちら
目次
ViewModelを使ってアニメーションを切り替える
エディターでの最後の作業として、ヒットエリアへのカーソル侵入した時に、アニメーションステートを切り替える仕組みを作ります。条件を管理するために、ViewModelを導入します。簡単に言えば、アニメーションやデザインの状態管理に用いる値(以降、プロパティと呼びます)を管理するための場所です。ViewModelを作ることでコード側から状態の細やかな調整も実現できるようになるため、アニメーションはRiveエディターで作り、状態管理はすべてコード側に記述するようなワークフローも実現できます。今回はViewModelで遷移条件を、前編でも扱ったState Machineで遷移関係を設定し、インタラクティブなコンテンツに仕上げていきます。
1.ヒットエリアにカーソルが侵入した時に、ViewModelの「isMouseOver」をtrueに変更
2.「isMouseOver」がtrueになったら、「Waving」ステートに遷移
新しいListenerとして「hitbox enter」「hitbox exit」を作成して図のように設定しました。目の追従の時との差異としては、ヒットエリアで検知するユーザーアクションがカーソルの侵入/離脱になっていること、リスナーアクションが「isMouseOver」の値を変更することの2点です。
作成したアニメーションをWebサイトに実装してみる
続いて、Riveで作成したアニメーションをWebサイトに表示してみましょう。早速、作成したアニメーションを書き出します。エディタ画面の右上にあるExportボタンから、Export for Runtimeをクリックします。RUN RIVE ANYWHEREというタイトルのポップアップが表示されるので、その中のExport your Rive fileと書かれたボタンをクリックすると、ファイルをダウンロードできます。
Rive Hello World const r = new rive.Rive({ src: "/buttonCharacter.riv", // ダウンロードした.rivファイル canvas: document.getElementById("canvas"), // アニメーションの表示領域 autoplay: true, // 表示した時にアニメーション再生 autoBind: true, // 初期状態から存在するViewModelを使用 stateMachines: "StateMachine", // 使用するステートマシンの指定 onLoad: () => { // ViewModelを取得, インスタンスの作成, インスタンスのバインドまでをまとめて実施 let boundInstance = r.viewModelInstance; }, }); このようにわずかなスクリプトのみで、インタラクティブなアニメーション要素をWebサイトに取り込むことができました。エディタのみの作業でここまでできるため、コーディングに抵抗があっても、ウェブデザインの表現力を高めることにRiveは貢献することでしょう。.rivファイルという1つのファイルに、デザイン、アニメーション、インタラクションのロジックがすべて含むこともできるため、引き継ぎの負荷も小さく済ませられます。
なお、ローカル環境で直接.rivファイルを読み込むことができない点に注意が必要です。すぐに表示を試す場合は公式のサンプルアニメーションをCDNで読み込むか、自分で用意したサーバー環境に作成したアニメーションファイルを配置する方法や、有料プランでCDN利用、ローカルサーバー、コンテナ環境などを利用する必要があります。
実装まで踏み込むことができるデザイナーの場合、公式のドキュメントを読んでいただくと、できることの可能性をより広げていくことができます。今回は静的なWebサイトで表示しましたが、他にもWebアプリやモバイルネイティブ環境、Unity、Wixの様なノーコードサービスまで、幅広い環境で同じアニメーションの表示が可能です。
ドキュメントには機能の情報が充実していたり、日本語でも気軽に尋ねることができるAIチャットボットもあったりするので、細かい仕様はそちらを参照いただければ幸いです。
※参考:Getting Started with the Rive Runtimes - Rive
まとめ
本記事では、ビジュアルデザインの作成からアニメーション制作、インタラクティブ要素の作り込み、そしてWebサイトへの実装まで、Riveを使った制作の基本的な流れを紹介しました。2~3年前までは、アニメーションの実装に用いるライブラリはLottieが主流で、Illustratorで作成したビジュアルデザインをAfter Effectsに取り込んで作成していました。Riveはそのワークフローを1つのツールにまとめられて、デザイナー側の裁量を大きく拡張している点が最大の特徴です。マイクロインタラクションからローディングアニメーションまで、Riveを使えば軽量で高性能なインタラクティブアニメーションを実現できます。ぜひ皆さんの業務にも取り入れてみてください。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)