日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bodymovin导出没有html文件,bodymovin导出动画json结果分析

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bodymovin导出没有html文件,bodymovin导出动画json结果分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

lottie動畫的json配置object

名稱

定義

v

使用bodymovin的版本

assetes

圖片集合

layers

圖層集合

w

視圖的寬度

h

視圖的高度

ip

起始關鍵幀

op

結束關鍵幀

fr

幀率

動畫時間 = (op - ip)/fr

在AE制作視頻是的開始和結束時通過設置兩個關鍵幀關鍵幀來完成。幀率就是單位為每秒顯示幀數。

object -> assetes

assetes是一個數組,描述包含的所有資源

名稱

定義

id

圖片唯一識別的id,圖層獲取圖片的標識

w

圖片的寬度

h

圖片的高度

u

圖片的路徑,實際并未使用 例:images/

p

圖片的名稱 例:img_0.png/

layers

預合成層

預合成層是對已存在的某些圖層進行分組,把它們放置到新的合成中。layers用來實現預合成層,它和assetes同級的layers屬于同一種數據類型。

object -> layers

layers是一個數組,描述包含的所有圖層

名稱

定義

nm

layer的名稱,在ae中生成唯一

ind

layer的Id,唯一

ty

layer的類型,為數字

refId

引用的資源,圖片/預合成層

parent

父圖層的id,默認都添加到跟圖層上,如果指定了id不為0會尋找父圖層并添加到上面

ip

該圖層的起始關鍵幀

op

該圖層的結束關鍵幀

w

預合成層:寬度

h

預合成層:圖層高度

sw

固態層:寬度

sh

固態層:圖層高度

sc

固態層:顏色

ks

外觀信息,下面有進一步分析

tt

遮罩類型

masksProperties

蒙版的數組

shapes

矢量圖形圖層的數組

type:layer的類型

0 預合成層

1 固態層

2 圖片曾

3 空層

4 形狀層

5 位置層

當前為圖片層時候,寬高通過asset來讀取。預合成層和固態層,從屬性讀取,其他情況直接讀取根圖層的寬高。

ip,op:當前圖層的開始和結束關鍵幀,決定該圖層動畫開始和結束的時間,使動畫可以只在整個過程的某一部分產生。幀率和根圖層共享。

object -> layers -> ks

名稱

定義

o

opacity不透明度

r/rz

rotation旋轉

p

position位置

a

anchor錨點

s

scale縮放

opacity、rotation、position

不透明度和旋轉通過讀取字典內k值來獲取。位置下有s屬性時會從x和y讀取,沒有s時也從k讀取。k對應的值有如下幾種情況:

數字或3個數字組成的數組,表示對應屬性的值,沒有動畫。比如錨點[62.5,46.5,0],縮放[-100,100,100],不透明度0等。

數組類型并且數字第一個對象的t有值時,表示幀動畫。第一個對象表示動畫開始的屬性,第二個對象表示動畫結束的屬性。通過以下參數可以拼裝出關鍵幀的屬性值,關鍵幀時間點,關鍵幀之間的時間函數,

t表示開始/結束幀

s和e表示開始/結束屬性值

i和o決定動畫的時間函數

anchor

同樣有兩種表示,帶動畫和不帶動畫。不帶動畫會用2個數字生成位置。當時數組帶t值時表示有動畫。參數和上面類似,區別是在s和e會生成移動的軌跡數組和關鍵幀的位置數組。

scale

同樣有兩種表示,帶動畫和不帶動畫。不帶動畫會用2個數字生成3D的縮放變換,單位比例是100.f。帶動畫參數同樣和上面類似,區別是s和e生成關鍵幀比例變換值的數組。

object -> layers -> shapes

shape是一個形狀圖層的數組,他可以通過path(UIBezierPath)屬性做出很多神奇的效果。圖層的類型描述了繪制的各種特性。如果你對UIBezierPath了解,你會發現以下的功能剛好都是它支持的全部~

名稱

定義

ty

圖層類型

目前ty支持的功能:

gr圖形合并

st圖形描邊

fl圖形填充

tr圖形變換

sh圖形路徑

el橢圓路徑

rc矩形路徑

tm剪裁路徑

下面用st和sh距離來說明配置內容,其他類似。

1. gr混合圖層(ShapeGroup)

名稱

定義

it

每個圖層的json

2. st圖形描邊(ShapeStroke)

名稱

定義

c

線的顏色

w

線的寬度

o

線的不透明度

lc

線段的頭尾樣式:默認不添加任何形狀、一半的半圓、一半的矩形

lg

線的鏈接類型:折線、平滑、棱角

d

線段的分割模式,數據內容為線段寬度+空白寬度

顏色參考下面顏色值的數據內容,寬度和不透明度都是數字,參考下面數字值的數據內容

顏色值color value

通過屬性k取到內容,根據數據類型區分,有幀動畫和無動畫兩種情況。數組&數組第一項有t屬性表示有幀動畫。

幀動畫

名稱

定義

t

關鍵幀

s

開始顏色,數據類型同無動畫一致

e

結束顏色,數據類型同無動畫一致

i

時間函數的參數,貝塞爾曲線內切點值

o

時間函數的參數,貝塞爾曲線外切點值

h

凍結關鍵幀,在結束時添加同樣的值

無動畫

4個數字分別代表rgba,生成顏色

數字值number value

通過屬性k取到內容,根據數據類型區分,有幀動畫和無動畫兩種情況。數組&數組第一項有t屬性表示有幀動畫。

幀動畫

同顏色的參數類型,s/e分別表示開始和結束數字,i/o代表時間函數的參數,h代表關鍵幀。

無動畫

數字即代表取值

3. fl形狀填充(ShapeFill)

數據格式同st類似,沒有width參數,只有顏色和不透明度

4. tr圖形變換(ShapeTransform)

數據格式同st類似,但是參數多了

名稱

定義

p

位置

a

錨點

s

縮放

r

旋轉

o

不透明度

這里新增了兩種數據類型,位置和錨點使用的坐標值,縮放使用的比例值,旋轉和不透明度使用之前說到的數字值。

坐標值point value

老規矩數組有t參數表示幀動畫,無動畫直接用2個值生成坐標的x和y。有動畫時參數同顏色類型類似,除關鍵幀、時間函數、開始結束值新增兩個點來生成移動路徑。

比例值scale value

老規矩數組有t參數表示幀動畫,無動畫直接用2個值作為參數生成變換矩陣。有動畫時參數同顏色類型。

5. sh圖形路徑(ShapePath)

名稱

定義

ks

外觀信息,矢量路徑描述對象

ks數據從其屬性k取值。根據數據類型區分,有幀動畫和無動畫兩種情況。數組&數組第一項有t屬性表示有幀動畫。這里僅說明圖形無動畫,但其所在的圖層本身可能存在不透明或縮放等動畫。

形狀值shape value

幀動畫

名稱

定義

t

矢量圖顯示的關鍵幀

s

動畫開始的矢量圖,數據類型同無動畫一致

e

動畫結束的矢量圖,數據類型同無動畫一致

i

時間函數的參數,貝塞爾曲線內切點值

o

時間函數的參數,貝塞爾曲線外切點值

h

凍結關鍵幀,在結束時添加同樣的矢量圖

通過上述的參數,可以計算出關鍵幀,關鍵幀的矢量圖,時間函數等,這些信息就組成了矢量圖的動畫。

無動畫

名稱

定義

c

結束subpath,用直線鏈接最后一個點和第一個點

v

頂點坐標集合

i

內切線點集合

o

外切線點集合

c

貝塞爾路徑閉合

通過v,i,o三個屬性可以創建一個基于矢量的路徑。通過計算出4個點可以確定一條三次貝塞爾曲線或直線的路徑,所有點合成在一起組成一個矢量圖。具體實現方式可以參考三次貝塞爾曲線。

其他路徑

數據結構基本類似,都是以上提到的類型組合

總結

以上是生活随笔為你收集整理的bodymovin导出没有html文件,bodymovin导出动画json结果分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。