成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

spine動畫融合與動畫疊加-創(chuàng)新互聯(lián)

一.動畫融合setMix

1.概述:兩個動作之間的平滑過渡

spine動畫融合與動畫疊加

為硯山等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及硯山網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設、硯山網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

參數(shù)duration為需要多少時間從fromAnimation過渡到toAnimation,過渡時間為動畫重疊時間。

下圖為動作切換時的情況(setAnimation),左紅線為切換動作時刻,兩個紅線之間為動作切換時間,這之間動畫播放為A與B的混合,A和B所占的權重是不斷變化的,從A占的權重從100到0,B占的權重從0到100。右紅線之后為動作B完全播放。

spine動畫融合與動畫疊加

圖1

下圖是A動作后有B動作的情況(addAnimation)

spine動畫融合與動畫疊加

圖2

下圖為錯誤的示例

spine動畫融合與動畫疊加

圖3

上圖是錯誤,融合不是從A的切換時幀情況過渡到B的的第一幀,而是重疊過渡的。再說一遍,在動畫的過渡過程中,A和B所占的權重是不斷變化的,從A占的權重從100到0,B占的權重從0到100.下面的代碼會證明這件事情

2.代碼

 (1)源碼:

spine動畫融合與動畫疊加

可以看到,如果有動作融合,會先spAnimation_apply(preAni)再spAnimation_mix(curAni, alpha)

spine動畫融合與動畫疊加

那么怎么證明經(jīng)過這兩個變換,動畫的權重是由apha值分配的呢?以下面的TransLate平移變換為例

(2)推導,證明動畫的權重由apha決定:

平移變換的源碼如下:

spine動畫融合與動畫疊加

定義幾個變量:

d1:preAni(之前動作)使原始骨骼x位置的改變值

d2:curAni(目前動作)使原始骨骼x位置的改變值

originX: Tpose中骨骼的x位置(原始位置)

紅框中的代碼,把+=換成=,代碼變?yōu)?/p>

spine動畫融合與動畫疊加

等式右面的bone->x為spAnimation_apply(preAni)后的值,即d1 + originX;

又知d2 = [prevFrameX + (self->frames[frameIndex + TRANSLATE_FRAME_X] – prevFrameX)*] * percent;

bone->data->x 為 originX

所以:

bone->x = (originX +d2 -(d1 + originX))*alpha + (d1 + originX)

       = (d2-d1)*alpha + (d1 + originX)

       = originX + alpha * d2 + (1 - alpha)*d1

bone->x= originX + alpha * d2 + (1 - alpha)*d1

3.demo

官方的動畫walk動作

spine動畫融合與動畫疊加

官方動畫的jump動作

spine動畫融合與動畫疊加

不融合spine動畫融合與動畫疊加,動作切換時有明顯的生硬效果

spine動畫融合與動畫疊加

 融合0.2s,walk快播放完了才跳起spine動畫融合與動畫疊加

spine動畫融合與動畫疊加

融合時間0.7s,spine動畫融合與動畫疊加walk剛開始,便切換成jump動作

spine動畫融合與動畫疊加

二.動畫疊加(trackIndex)

1.概述:

多層動畫疊加,上層動作會覆蓋(同一骨骼有動畫,若上層骨骼沒有動畫,下層動畫還是正常播放)下層動作

spine動畫融合與動畫疊加

trackIndex為動畫的層數(shù)。

2.代碼:

還是上圖的代碼,可以看到for循環(huán)中遍歷了所有的tracks,后面的tracks會覆蓋前面的動畫。

3.demo:

官方的打***動畫

spine動畫融合與動畫疊加

walk動作index為0,jump動作index為1,jump動作會覆蓋walk動作。

spine動畫融合與動畫疊加

spine動畫融合與動畫疊加

walk動作index為1,jump動作index為0,walk動作會覆蓋jump動作。

spine動畫融合與動畫疊加

spine動畫融合與動畫疊加

 walk和shoot的疊加,就是變走路邊打***的效果

spine動畫融合與動畫疊加

spine動畫融合與動畫疊加

 備注:spine代碼截取的是spine官方代碼Version 2.3

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

標題名稱:spine動畫融合與動畫疊加-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article26/coihcg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航面包屑導航、微信小程序、網(wǎng)站內(nèi)鏈、網(wǎng)頁設計公司、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
洛宁县| 平和县| 会宁县| 北宁市| 咸丰县| 习水县| 荆州市| 福清市| 绥滨县| 沧源| 渭南市| 双柏县| 那坡县| 桂林市| 颍上县| 鞍山市| 和硕县| 鹤峰县| 卓尼县| 闵行区| 张家界市| 红安县| 堆龙德庆县| 资中县| 乡宁县| 玉山县| 九寨沟县| 徐水县| 溧阳市| 临湘市| 舟曲县| 浪卡子县| 日照市| 周宁县| 海口市| 鲁山县| 洛阳市| 合江县| 祁东县| 舞阳县| 洪洞县|