kinetickit:Python 的確定性 2D 與 3D 動畫
與領域無關、精確且確定的 2D 與 3D 動畫引擎。
kinetickit 1.0 為測試版
kinetickit 1.0.0b2 是預發行版本。相容性列出的契約打算保持穩定,但預發行版本之間可能改變,並一定附上變更紀錄。
from kinetickit import Animation, Bounds2D, Point2D, Scene2D, Vec2, ease
dot = Point2D(id="dot", position=Vec2(1, 1), size=8, color="#e4572e")
scene = Scene2D(dot)
scene = scene.bind({scene.camera.ref("view"): Bounds2D(Vec2(0, 0), Vec2(10, 10))})
motion = dot.animate.position.to(Vec2(9, 9), duration=1.5, easing=ease.out_cubic)
animation = Animation(scene, motion)
animation.save("dot.svg", width=400, height=400)
功能
-
場景與動作
不可變的 2D 與 3D 節點,以及用
then、with_、delay、repeat、yoyo、reverse與trim組合的動作。 -
時間與緩動
精確時間點的影格、緩動函數族與三次 Bézier 時間曲線、關鍵影格與標記。
-
變形與轉場
明確對應的路徑、網格與曲面變形,以及依穩定編號配對節點的場景轉場。
-
3D 場景與相機
網格、高度場曲面、光源,以及共用同一套投影的透視或正交相機。
-
一個場景,三種輸出
動態 SVG、最高 1200 DPI 的串流 GIF,以及獨立的互動 HTML,寫檔前都會先檢查能力。
-
文字排版
文字以中性素材的形式進來,由 GlyphKit 用呼叫端提供的字型排版,並嵌入通過權限檢查的字型子集。
-
無障礙與互動
角色、標籤與閱讀順序、減少動態的政策,以及綁定到節點編號、只含資料的互動。
-
範例與轉接器
用基本圖形畫的圖表、透過轉接器動畫的一般 Python 物件模型,以及打光的 3D 曲面。
安裝
需要 Python 3.10 到 3.13。選用的額外安裝項見安裝。
範例
本文件的每張圖都附上生成它的腳本。可一次下載全部。