信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2018

6

6月

円形のプログレスバーを作成する [After Effects]

テクログ

最近制作したモーショングラフィックスで詰まったところがあったので

この場を借りて知識を共有できたらと思います。


やりたかったこと

  • 直線のバーではなく円形のプログレスバー
  • タイムラインに合わせて色付きのゲージを回転させたい
  • ゲージに合わせて真ん中の数字も動かしたい


下2つがわからず詰まった。





1.

楕円形のシェイプを追加します。

塗りは無しで線のみ。

色は後で変えるので何色でもいいです。

シェイプの下に平面をおいていますが、これはお好みで構いません。




2.

同様のシェイプレイヤーで一回り小さい楕円形パスを追加します。

線のプロパティで破線を追加します。数値はお好みで。

シェイプに塗りのエフェクトを適用してグレーに設定します。

これがバーの下地になります。


3.

シェイプレイヤーを複製します。

これが動きをつけるレイヤーになります。

塗りのエフェクトは削除してとりあえずグラデーションを適用してデザインしておきます。



4.

ヌルオブジェクトを追加して、

エフェクトのエクスプレッション制御からスライダー制御を適用します。

スライダーをバーを動かしたい始点と終点にキーフレームを打っておきます。



複製したシェイプレイヤーにパスのトリミングを追加します。

終了点のエクスプレッションピックウィップを

ヌルオブジェクトのスライダー制御にドラッグしましょう。

エクスプレッションが自動で入力されます。

これでスライダーのキーフレームとシェイプの動きが同期します!

プレビューするとバーが動くかと思います。


とりあえずバーだけ出したい場合は上記で完成です。


折角なのでバーの動きに合わせてパーセンテージも表示したいぜ!という場合は以下に…


テキストレイヤーを配置します。

テキストは円の中心に置きます。

ソーステキストに下記のエクスプレッションを入力します


beginCount =thisComp.layer("null").effect("スライダー制御")("スライダー");
stopCount = thisComp.layer("null").effect("スライダー制御")("スライダー");
beginTime = 0;
countDur = 5;
Math.round(linear(time,beginTime,beginTime + countDur,beginCount,stopCount)) + "%"


beginCountとstopCountに先程のヌルオブジェクトのスライダープロパティを代入しています。

beginTimeは名前の通り開始時間

countDurはカウントする時間でこの場合5秒間です

linear()のパラメータは

linear ( 変数(今回はコンポジションの時間) , 入力最小値 , 入力最大値 , minに対する出力値 , maxに対する出力値 )

ですので、

スライダー制御の値に合わせて

'%'がお尻についた1~100の数字が出力されるようになります。


フォント、色、あとはスライダーのイーズを

お好みで設定してみてください。


完成形


SVGにすればWebサイトやアプリとかでも使えるかな?


こんな記事書いてますがデザイナーでもないので実務では一切触ってません。

コアテックは映像案件があるわけではないのであしからず。。

この記事を書いた人

マスオさん

かつた

所 属:
WEBインテグレーション事業部
出身地:
栃木
仕事内容:
WEB開発

RELATED ARTICLE

関連記事

記事一覧へ