top of page

Riveでカウントアップアニメーションを作る方法|データバインドとプロパティグループ解説

  • 4月19日
  • 読了時間: 7分
RIVE解説記事の画像。カウントアップアニメーションで100を示す曲線グラフ。青い矢印、チェックマークのリストが特徴的。

完成イメージ:Riveカウントアップアニメーション

この記事では、Riveのデータバインドを利用したカウントアップアニメーションの作成方法について解説します。




最低限必要な要素

今回、Riveでカウントアップアニメーションを作る際、最低限必要な要素は下記の通りです。


【アートボード内】

  • テキストレイヤー

  • プロパティグループ


【データバインド内】

①ビューモデル

  • Numberプロパティ


②コンバーター

  • Convert to Stringプロパティ


ステップ1:グラフィックデザイン準備

まず初めに、デザインタブでグラフィック要素の下準備をします。

アートボードサイズは今回500ピクセル×500ピクセルの正方形にしました。


アートボードの色を任意の配色に設定します。私はLinear Gradient(線系グラデーション)

にしています。


黒地に「text」(#2A2A2A)が表示されたデザイン画面。右にグラデーション設定ツールと色コードパレット。クールな印象。

テキストレイヤーを1つ追加しましょう。表示する文字は、後ほどデータバインドで設定しますので、デフォルトの「text」のままで問題ありません。


線グラフも追加したい場合は、ペーンツールで線を描きます。

線グラフの色は、デフォルトの「Fill(塗り)」色を消して、「Stroke(線)」色を追加します。

黒い背景に、白い「text」と曲線が表示されています。曲線は青緑色で、色コード「43FFEB」。画面下部に「Stroke」が黄色枠で強調されています。

線のエフェクトからTrim Effect(線のトリム)を追加します。デザインタブで見やすいように、Startの数値を100%に設定しました。


パス効果設定のスクリーンショット。左にトリム効果があり、開始が100%、右に青色の選択された色43FFEBが表示。

グラフィックデザイン要素は以上で完了です。


ステップ2:データバインド準備

次に、データバインドの準備をしていきます。

デフォルトで「ViewModel1」というビューモデルが用意されているので、こちらを使用します。


ビューモデル右側から、Numberプロパティを追加します。

プロパティ名は任意ですが、分かりやすく「textNum」と命名しました。


データ管理画面のスクリーンショット。左に「ViewModel1: ViewModel」の青ハイライトがあり、右に黒のドロップダウンメニューで「Number」が選択。

次に、Converter(コンバーター)を追加します。


少し分かりにくいですが、ビューモデルとは別階層になります。

上部のプラスボタンから、以下の順でConvert to Numberプロパティ追加しましょう。


Converter > String > Convert to Number

後ほど分かりやすいように、コンバーター名を「textNumControl」に変更しました。


デジタルUI画面で、「Convert to String 1」と「Converter」、「Convert to String」を選択するメニューのスクリーンショット。黒と青の背景。


ステップ3:データバインディング設定

グラフィックデザインとデータバインドの下準備ができたので、次はその2つを連携させるデータバインディング設定をしていきます。


デザインタブのHierarchyに戻り、テキストレイヤーを選択します。


右側パネルのText Runs設定で、デフォルトの「text」が入力されている部分を右クリックし、「Data Bind」を選択します。


UIデザインソフトのスクリーンショット。黒い背景に白字で「Text Runs」「Data Bind」などのテキストが表示。黄色の強調枠あり。簡潔で整然とした印象。

まず、データバインドの方向性を設定します。

左から2つ目のbidirectional(双方向性)を選択しましょう。


次に、プロパティを設定します。

リストを選択すると、先ほどステップ2で追加した「textNum」というプロパティが表示されますので、そちらを選択しましょう。


Convertを設定します。

こちらもステップ2で追加した「textNumControl」を選択します。


データバインドの設定画面、黒背景に青と白の文字。新規、プロパティにtextNum、変換にtexttoNumControlと表示。

最後に、プラスボタンからNumberのプロパティを追加します。


UIソフトウェアのスクリーンショット。上部にアイコンが並び、「Property Group」オプションが黄色でハイライトされている。シンプルでクリーンなデザイン。

0という数値が入っているボックス上を右クリックして、Data Bindを設定していきます。


データバインドの方向は「Target to Source」を設定します。

Propertyは、「TextNum」を選択しましょう。


データバインド設定画面に「Target to Source」と表示。左側は「Property」がtextNum、中間に新しいバインド、右側に「Property 1」の値が0。黒背景。

なぜプロパティグループが必要なのか?

プロパティグループを追加することで、データバインドで追加した「textNum」という数字の変数をカウントアップ表示することが可能になります。


もしプロパティグループがないと、テキストレイヤーの文字そのものにキーフレームを打つことしかできないので、数字の「0」から「100」にテキストが切り替わるだけになります。


黒い背景に数字「0」が中央に表示されたデジタルインターフェース。画面の下部にタイムラインと操作パネルが見える。

そのため、0から100までの途中の数値を表示する「カウントアップアニメーション」は実現できません。


ステップ4:アニメーション設定とステートマシン作成

最後に、アニメーションを設定していきます。


アニメーションタブに切り替えると、デフォルトで「Timeline1」があるので、ここにキーフレームを追加します。


プロパティグループを選択し、最初のフレームに「0」のキーフレームを設定します。

これで、開始点が0に設定されました。


次に、1秒後の位置に移動し、終了値を「100」に設定します。


黒い背景の上に、中央に「text」と書かれたグレーのボックスが表示。黄色で囲まれた部分には「textToNumControl」が見える。

線グラフも追加している場合は、線グラフのレイヤーの

Trim Effect > Start

の数値にキーフレームを追加します。

こちらも0%から100%になるよう、2つのキーフレームを追加します。


エフェクト設定画面のスクリーンショット。左は「Start」100%と黄色で強調され、右は色選択と数値表示。背景は暗色。

●タイムラインでのアニメーションプレビュー


タイムライン上でスペースキーを押すと、アニメーションが再生されます。

注意点としては、このタイムライン上ではプロパティグループのアニメーションが再生されないということです。


ヒエラルキーとタイムラインを含むアニメーションソフトのUI。中央に「text」という白字が表示され、テキスト制御が強調。

線グラフが0%から100%に表示されるトリムパスアニメーションは確認できますが、ここでテキストレイヤーは「text」のままで変化がありません。


●ステートマシンでのアニメーションプレビュー


プロパティグループでキーフレームを設定したカウントアップアニメーションを確認するには、State Machine(ステートマシン)を開きます。


デフォルトでは、EntryからTimeline1へ遷移する設定になっています。

この状態でアニメーションを再生すると、ただちにTimeline 1で設定したアニメーションが自動で開始されるという設計です。


このステートマシン上でスペースキーを押して、再度アニメーションを確認してみましょう。今度は、数字の0が100になるまでのカウントアップアニメーションが表示されたと思います。


黒い背景に「text」と書かれた白い文字と、水色の波状の線が表示された画面。画面には操作パネルや設定項目が含まれる。

小数点以下を非表示にしたい場合

しかし、現状のカウントアップアニメーションでは、小数点以下の値も表示されてしまいます。


小数点以下の数字を非表示にし、整数のみのカウントアップアニメーションにする場合は、コンバーターの「textNumControl」を選択します。


右側にConvert to Stringのプロパティ設定画面が表示されるので、From a Number内にある「Round Decimals」にチェックを入れましょう。


データタブのスクリーンショット。左上に「Convert to String 1」が青色で強調。右側に「From a Number」設定、丸め設定あり。

この状態で再度ステートマシンを再生すると、今度は数字の0から100まで、小数点以下の数値は表示されない、整数だけのカウントアップアニメーションができました。



小数点以下を表示にしたい場合

逆に、小数点以下の細かい数字も表示させたい場合は、先ほどのConvert to Stringで0にしたRound Decimalsの数字を変更します。


小数点第一位(例:0.1)まで表示させるなら「1」、小数点第二位(例:0.01)まで表示させるなら「2」に設定すると、設定した位までの小数点以下の数字が、カウントアップアニメーションで表示されます。


上記を応用して、さらに細かいデザインを加えると、このようなアニメーションも作成可能です。


まとめ

以上が、Riveでデータバインドを使ってカウントアップアニメーションを作成する方法解説でした。


WebサイトのUIアニメーションとして活用できるほか、inputを設定すれば、クリックで再生されるマイクロインタラクションとしても応用できます。


Rive Marketplaceには、今回ご紹介したカウントアップアニメーションのサンプルを公開しています。Remix可能ですので、ソースファイルが見たいという方はぜひご覧ください。


Remix可能なRiveソースファイル(Rive Marketplaceより)


【シンプル版】Riveカウントアップアニメーション サンプル


【応用版】Riveカウントアップアニメーション サンプル


参考になったらLikeボタンを押していただけると嬉しいです(/・ω・)/❤


LITTLE FUJIでは、Riveエキスパートバッジを取得したデザイナーのAyaka Fujiが、Riveアニメーション制作のご依頼を承っております。


触って動かせるインタラクティブアニメーションや、Webサイトに最適な軽量UIアニメーション制作など、Riveを使ったアニメーションを検討中の方はぜひお気軽にご相談ください。


最近、ココナラでもRiveアニメーションの制作サービスを販売開始いたしました! 【ココナラ】Riveインタラクティブアニメーションを制作します


PHAINO DESIGNが提供するRiveアニメーションサービスの広告画像。触って動かせるインタラクティブアニメーションと宣伝。軽量データサイズやRive Expert取得済と説明。背景にアニメーションサンプル。

※ココナラは利用者手数料が高額なため、LITTLE FUJI Design Studioのお問い合わせフォームから直接ご相談いただく方がおすすめです。



bottom of page