補間
使用補間/插值實現平滑動畫。
貢獻者: LuYifei2011
腳本
線性
定義 線性 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
正弦
定義 正弦 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ((1) - ([cos v] 數值 ((補間) * (90)))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 正弦 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ([sin v] 數值 ((補間) * (90))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 正弦 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 (() - ((([cos v] 數值 ((補間) * (180))) - (1)) / (2))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
次方
// 可以更改指數:二次 / 三次 / 四次 / 五次 定義 二次 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ((補間) * (補間)) // 三次:再乘一次;四次/五次:以此類推 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 二次 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ((1) - (補間)) 變數 [補間 v] 設為 ((補間) * (補間)) // 三次:再乘一次 變數 [補間 v] 設為 ((1) - (補間)) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 二次 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 如果 <(補間) < (0.5)> 那麼 變數 [補間 v] 設為 ((2) * (補間)) 變數 [補間 v] 設為 ((補間) * (補間)) // 三次:再乘一次 變數 [補間 v] 設為 ((補間) / (2)) 否則 變數 [補間 v] 設為 (((-2) * (補間)) + (2)) 變數 [補間 v] 設為 ((補間) * (補間)) // 三次:再乘一次 變數 [補間 v] 設為 ((1) - ((補間) / (2))) 結束 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
指數
引入模組 冪 (乘方) · 主腳本 (#1)
定義 (a :: custom-arg) 的 (b :: custom-arg) 次冪 變數 [結果 v] 設為 ([e ^ v] 數值 ((b :: custom-arg) * ([ln v] 數值 (a :: custom-arg))))
定義 指數 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (0)> 那麼
變數 [補間 v] 設為 (0)
否則
(2) ^ (((10) * (補間)) - (10)) :: custom
變數 [補間 v] 設為 (result)
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 指數 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (1)> 那麼
變數 [補間 v] 設為 (1)
否則
(2) ^ ((-10) * (補間)) :: custom
變數 [補間 v] 設為 ((1) - (result))
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 指數 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (0)> 那麼
變數 [補間 v] 設為 (0)
否則
如果 <(補間) = (1)> 那麼
變數 [補間 v] 設為 (1)
否則
如果 <(補間) < (0.5)> 那麼
(2) ^ (((20) * (補間)) - (10)) :: custom
變數 [補間 v] 設為 ((result) / (2))
否則
(2) ^ (((-20) * (補間)) + (10)) :: custom
變數 [補間 v] 設為 (((2) - (result)) / (2))
結束
結束
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))圓形
定義 圓形 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ((1) - ([平方根 v] 數值 ((1) - ((補間) * (補間))))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 圓形 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ([平方根 v] 數值 ((1) - (((補間) - (1)) * ((補間) - (1))))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 圓形 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 如果 <(補間) < (0.5)> 那麼 變數 [補間 v] 設為 ((2) * (補間)) 變數 [補間 v] 設為 ((1) - ([平方根 v] 數值 ((1) - ((補間) * (補間))))) 變數 [補間 v] 設為 ((補間) / (2)) 否則 變數 [補間 v] 設為 (((-2) * (補間)) + (2)) 變數 [補間 v] 設為 ([平方根 v] 數值 ((1) - ((補間) * (補間)))) 變數 [補間 v] 設為 (((補間) + (1)) / (2)) 結束 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
回彈
定義 回彈 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 (((補間) * (補間)) * (((2.70158) * (補間)) - (1.70158))) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 回彈 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 變數 [補間 v] 設為 ((補間) - (1)) 變數 [補間 v] 設為 ((((補間) * (補間)) * (((2.70158) * (補間)) + (1.70158))) + (1)) 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定義 回彈 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) % 變數 [補間 v] 設為 ((進度 :: custom-arg) / (100)) 如果 <(補間) < (0.5)> 那麼 變數 [補間 v] 設為 ((補間) * (2)) 變數 [補間 v] 設為 ((((補間) * (補間)) * (((3.5949095) * (補間)) - (2.5949095))) / (2)) 否則 變數 [補間 v] 設為 (((補間) * (2)) - (2)) 變數 [補間 v] 設為 (((((補間) * (補間)) * (((3.5949095) * (補間)) + (2.5949095))) + (2)) / (2)) 結束 變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
彈性
引入模組 冪 (乘方) · 主腳本 (#1)
定義 (a :: custom-arg) 的 (b :: custom-arg) 次冪 變數 [結果 v] 設為 ([e ^ v] 數值 ((b :: custom-arg) * ([ln v] 數值 (a :: custom-arg))))
定義 彈性 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (0)> 那麼
變數 [補間 v] 設為 (0)
否則
如果 <(補間) = (1)> 那麼
變數 [補間 v] 設為 (1)
否則
(2) ^ (((10) * (補間)) - (10)) :: custom
變數 [補間 v] 設為 (() - ((result) * ([sin v] 數值 ((((補間) * (10)) - (10.75)) * (120)))))
結束
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 彈性 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (0)> 那麼
變數 [補間 v] 設為 (0)
否則
如果 <(補間) = (1)> 那麼
變數 [補間 v] 設為 (1)
否則
(2) ^ ((-10) * (補間)) :: custom
變數 [補間 v] 設為 (((result) * ([sin v] 數值 ((((補間) * (10)) - (0.75)) * (120)))) + (1))
結束
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 彈性 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) = (0)> 那麼
變數 [補間 v] 設為 (0)
否則
如果 <(補間) = (1)> 那麼
變數 [補間 v] 設為 (1)
否則
如果 <(補間) < (0.5)> 那麼
(2) ^ (((20) * (補間)) - (10)) :: custom
變數 [補間 v] 設為 ((() - ((result) * ([sin v] 數值 ((((補間) * (20)) - (11.125)) * (80))))) / (2))
否則
(2) ^ (((-20) * (補間)) + (10)) :: custom
變數 [補間 v] 設為 ((((result) * ([sin v] 數值 ((((補間) * (20)) - (11.125)) * (80)))) / (2)) + (1))
結束
結束
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))彈跳
定義 彈跳 緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) < (0.363636)> 那麼
變數 [補間 v] 設為 ((7.5625) * ((補間) * (補間)))
否則
如果 <(補間) < (0.727272)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.545454)) * ((補間) - (0.545454)))) + (0.75))
否則
如果 <(補間) < (0.90909)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.818181)) * ((補間) - (0.818181)))) + (0.9375))
否則
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.954545)) * ((補間) - (0.954545)))) + (0.984375))
結束
結束
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 彈跳 緩入 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
變數 [補間 v] 設為 ((1) - (補間))
如果 <(補間) < (0.363636)> 那麼
變數 [補間 v] 設為 ((7.5625) * ((補間) * (補間)))
否則
如果 <(補間) < (0.727272)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.545454)) * ((補間) - (0.545454)))) + (0.75))
否則
如果 <(補間) < (0.90909)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.818181)) * ((補間) - (0.818181)))) + (0.9375))
否則
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.954545)) * ((補間) - (0.954545)))) + (0.984375))
結束
結束
結束
變數 [補間 v] 設為 ((1) - (補間))
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定義 彈跳 緩入緩出 從 (起始值 :: custom-arg) 到 (結束值 :: custom-arg) 進度 (進度 :: custom-arg) %
變數 [補間 v] 設為 ((進度 :: custom-arg) / (100))
如果 <(補間) < (0.5)> 那麼
變數 [補間 v] 設為 ((補間) * (2))
變數 [補間 v] 設為 ((1) - (補間))
如果 <(補間) < (0.363636)> 那麼
變數 [補間 v] 設為 ((7.5625) * ((補間) * (補間)))
否則
如果 <(補間) < (0.727272)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.545454)) * ((補間) - (0.545454)))) + (0.75))
否則
如果 <(補間) < (0.90909)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.818181)) * ((補間) - (0.818181)))) + (0.9375))
否則
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.954545)) * ((補間) - (0.954545)))) + (0.984375))
結束
結束
結束
變數 [補間 v] 設為 ((1) - (補間))
變數 [補間 v] 設為 ((補間) / (2))
否則
變數 [補間 v] 設為 (((補間) * (2)) - (1))
如果 <(補間) < (0.363636)> 那麼
變數 [補間 v] 設為 ((7.5625) * ((補間) * (補間)))
否則
如果 <(補間) < (0.727272)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.545454)) * ((補間) - (0.545454)))) + (0.75))
否則
如果 <(補間) < (0.90909)> 那麼
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.818181)) * ((補間) - (0.818181)))) + (0.9375))
否則
變數 [補間 v] 設為 (((7.5625) * (((補間) - (0.954545)) * ((補間) - (0.954545)))) + (0.984375))
結束
結束
結束
變數 [補間 v] 設為 (((補間) + (1)) / (2))
結束
變數 [補間 v] 設為 (((補間) * ((結束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))變數 / 清單
| 名稱 | 類型 | 作用域 |
|---|---|---|
補間 | 變數 | 角色 |
備註
此模組中的腳本可以用於替代 TurboWarp 的 補間 (Tweening) 擴充。
參考連結
- Tween | TurboWarp Extensions (extension)