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

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

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

LIST OF ARTICLES

記事一覧

  • テクログ

    円形のプログレスバーを作成する [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サイトやアプリとかでも使えるかな?こんな記事書いてますがデザイナーでもないので実務では一切触ってません。コアテックは映像案件があるわけではないのであしからず。。