Skip to main content
Known Participant
December 31, 2024
Answered

オブジェクトの回転

  • December 31, 2024
  • 1 reply
  • 182 views

エクスプレッションを使って下記コードを入力しました。

複数オブジェクトを0秒から回転させ4秒のところで回転を停止。

 

if (time >= 0 && time <= 4) {
time*-20;
} else {
value;
}

 

停止する際 パキっと 停止します。

自然な流れで止めるにはどうしたらいいですか。

    Correct answer Mukaida

    よく使われるコードとしては、

    linear(time,0,4,0,-80)
    //または
    easeOut(time,0,4,0,-80)

    になります。


    上記は、time*-20 が1秒で -20°回転 になるので4秒後は -80° に設定しています。
    但し、0秒時の角度が不明のため 0秒時は 0° に設定しています。


    valueは、タイムラインにキーフレームがあれば、キーフレームの値になるので-80°以外の値が設定されている場合は、4秒後に急激に変化してしまいます。

    1 reply

    MukaidaCommunity ExpertCorrect answer
    Community Expert
    December 31, 2024

    よく使われるコードとしては、

    linear(time,0,4,0,-80)
    //または
    easeOut(time,0,4,0,-80)

    になります。


    上記は、time*-20 が1秒で -20°回転 になるので4秒後は -80° に設定しています。
    但し、0秒時の角度が不明のため 0秒時は 0° に設定しています。


    valueは、タイムラインにキーフレームがあれば、キーフレームの値になるので-80°以外の値が設定されている場合は、4秒後に急激に変化してしまいます。

    Community Expert
    January 1, 2025

    <追記>
    すでに画像が円状に配置されて、0秒の時点でそれぞれY回転(あるいは別軸の回転)している様でしたら、下記コードは全てのレイヤーで動作すると思います。

     

    t = 4;
    s = -20
    mi = valueAtTime(0);
    mx = mi + t * s;
    linear(time,0,t,mi,mx)