Skip to main content
Known Participant
April 6, 2024
질문

wiggleの制御について

  • April 6, 2024
  • 3 답변들
  • 1899 조회

レイヤーのPositionにwiggleを適用して、値を Slider Controlで制御しようと思い、

 

freq=effect("Slider Control")("Slider")

wiggle(freq, amp=30)

 

このようなエクスプレッションを適用しました。

Slider Controlにキーフレームを3つ打って、
順番に、0.5 / 0.8 / 3 としています。

2個目と3個目のキーフレームの間だけ、Wiggleの挙動が、異常に激しく動きます。

3以上の動きをします。

0.8から3への変化のように、値が大きく変わると、こういう挙動になるものなでしょうか?
スムーズに変化させる方法はありますか?

 

ご存知の方いらっしゃいましたら、ご教授お願いいたします。

 

macOS 14.2.1
Aftereffects 24.2.1
です。
よろしくお願いいたします。

    이 주제는 답변이 닫혔습니다.

    3 답변

    moccoHD작성자
    Known Participant
    April 21, 2024

    Mukaidaさんと、sha_d_ecoさんに教えていただいた方法で、いくつか試してみて、次のような理解に至りました。

     

    周波数が細かく(=急に)変化するときに、フレームレートが、周波数の変化に追いついていない。

     

    前のフレームと、次のフレームでその変化を捉えられていないことが原因ような気がしています。
    数学的には、周波数とそのサンプリングレートによっては、グラフの変化が一定ではないことが起こるようです。(詳しくは理解できていませんが。。)
    私の能力では、検証と解説をわかりやすく提供することはできませんが、フレームレートを変えて幾つか試してみると、その予想外の挙動が、変化していました。
    何かバグとかそう言うものではないので、対策としては、
    sha_d_ecoさんのおっしゃる通り、
    「多くの解説サイトではamp用のスライダー制御にキーフレームを打つ方法のみ紹介しているのではないでしょうか。」
    これが、ベストプラクティスな気がします。
    あとは、
    「周波数については急激な変化を避ける」でしょうか。

     

    どなたかもっと詳しく、解説いただける方がいらっしゃいましたら、お願いしたいです。
    ありがとうございました。

    Community Expert
    April 21, 2024

    こんにちは、
    下記サイトの「Controlling Wiggle Speed」に対処法が掲載されているので参考にしてみてはどうでしょう。

    MotionScriptは、昔から有名なサイトの一つです。

    Controlling Wiggle Speed

     

    スライダー制御に0.5,0.8,3 のキーフレームを設定した場合のグラフは下図になります。

    sha_d_eco
    Participant
    April 21, 2024

    え!該当の挙動について言及していますね!
    私も長年放置していた答えが…ありがとうございます!

    sha_d_eco
    Participant
    April 7, 2024

    私も悩んでおり根本の解決には至っていませんが、私なりの解釈を記載します。

    freqは振幅数なので、「1秒間に何回揺れるか」と習ったかと思いますが、どうやら内部処理的には「1秒間に次の目的地を何回変えるか」となっているのではと思います。
    これが途中で変わると1秒間に次の目的地を0.5回変える場合と、0.6回変える場合でゴールが変わってしまうので、震えて見えると踏んでいます。
    ampの方を変える場合は「最大何ピクセルズラすか」なのでスムーズに値を変化させられ、イメージ通りの挙動をしますので、多くの解説サイトではamp用のスライダー制御にキーフレームを打つ方法のみ紹介しているのではないでしょうか。

    揺れをfreqで遅く、早くアニメーションさせるのではなく、ampで小さく、大きく変化させるか、もしくはfreqをゆっくりと変化させずに早い揺れが必要なタイミングで一気に切り替えることで結果的に許容できないか検討されてはいかがでしょうか。

    moccoHD작성자
    Known Participant
    April 8, 2024

    返信ありがとうございます!
    Mukaidaさんにも教えていただい方法と合わせて、ampの調整もしてみようと思います。
    「1秒間に次の目的地を0.5回変える場合と、0.6回変える場合でゴールが変わってしまう」この辺り、勉強不足でまだ、よく理解できておりません。。また実験してみて結果をあげさせてもらいます。

    ありがとうございます。

    Community Expert
    April 6, 2024

    v24.3で試してみましたが、異常はありませんでした。


    環境設定フォルダーの再作成で初期化してみてはどうでしょう。
    After Effects再起動時に以前の環境を「移行しない」を選択して下さい。
    おかしいなと思ったら(Mac OS 版 After Effects CC) 

    Community Expert
    April 6, 2024

    <追記>
    0.5と0.8の間と勘違いしていました。
    freqは、周波数になるため、
    円運動で例えるなら、初速は1秒間に1回転で最後は1秒間に4回転の速度になっています。
    3 ÷ 0.8 = 3.75

    Community Expert
    April 7, 2024

    <追記 2>
    freq値を0.8と3で、波形を表示すると下図のようになります。


    役に立つかどうか分かりませんが、
    wiggleには、引数が5個あります。

    wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)


    3と4番目を追加すると元の波形に小さく振幅する波形が追加されます。
    wiggleの詳細は、下記リンクの中央辺りにある「プロパティの属性とメソッド(エクスプレッションのリファレンス)」を参照してください。
    After Effects でのエクスプレッション言語 

     

    例えば、
    wiggle(0.8, 30 , 3 , 0.5) と wiggle(3, 30 , 3 , 0.5) の結果は、下図になります。


    1番目を固定して3番目の引数を変化させる方法も試してみてはどうでしょう。


    また、モーションスケッチという機能もあるので、希望の動きができない時に、自分でレイヤーを動かしてモーションパスを描くことができます。
    スムーザーを使用して、動きをスムーズにすることができます。