Flash自動繪畫_0_從路徑到軌跡動畫

Flash已經更名爲Animate,可見Adobe將其定位成動畫工具。雖然榮光不在,但是,繪圖,動畫,界面編輯功能依舊十分強大。

利用JSFL進行工具拓展,可以將一些體力勞動轉化成一鍵操作。

Flash中筆刷繪製的曲線實際上是二次貝塞爾曲線的點集合。

JSFL解析筆刷,曲線會拆分成多份。畫一條曲線,然後,將其解析成二次貝塞爾曲線隊列,按照隊列順序繪畫出每一段曲線放置到新建的圖層中取。然後,反向取消剛纔的操作,這裏倒敘的過程中,會發現,一條曲線實際上是分成兩段的。[如果是複雜的曲線,會分成更多段...]

相鄰的兩段貝塞爾曲線,如果想要平滑鏈接,需要滿足下圖

也就是兩個控制點和鏈接點需要在一條直線上。我們可以通過這個條件對解析出的節點數組進行再排序。

P2點是兩條貝塞爾曲線的公共點,這個點必須相等纔可以。

P2上兩側與C12和C23運算得到的斜率,其實際值並不是完全一直,多少有些偏差。

所以,這裏將兩端的斜率轉換成角度,通過角度差很小的近似爲一致的方式,進行判斷。(Math.atan2 計算出的值[-180,180])

這裏注意 兩個角分別,接近 -180 或 180 時,實際上是近似爲相等的,所以,每次近似前先將兩角差縮至180以內

算出這個路徑然後添加上緩動動畫,實際效果如下

由左到右是線段由端至長。

第一排是SineIn

第二排是SineInOut

第三排是SineOut

第四排是 以上三者的疊加動畫。

也可以生成路徑然後在其他軟件中播放。

軌跡動畫隨手幾份

更換筆刷調整粗細,將 In,InOut,Out 旋轉組合,同時開始同時結束。導出到Unity合併altas選擇壓縮。看起來效果還不錯

Altas的大小也還是能接受的。只不過可能還要進行一下壓縮。

 

下一篇:

https://blog.csdn.net/u010816580/article/details/99412469

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章