類目區(qū)域,共分為三級(jí)菜單,我們用次級(jí)物體運(yùn)動(dòng)來表達(dá)這三級(jí)菜單之間的關(guān)系,附屬性質(zhì)的次級(jí)物體運(yùn)動(dòng)是伴隨著主要物體運(yùn)動(dòng)產(chǎn)生的,次級(jí)運(yùn)動(dòng)相較主要物體運(yùn) 動(dòng)有一定的延遲,所以我們?cè)陬惸繀^(qū)域也是通過運(yùn)動(dòng)的時(shí)間差帶來邏輯上的關(guān)系,一級(jí)菜單牽引出二級(jí)菜單,二級(jí)菜單牽引出三級(jí)菜單。
banner的視差滾動(dòng)效果以及樓層的分屏加載效果是模擬傳送帶的運(yùn)動(dòng)過程,我們把主體看成是受力方,傳送帶看成是施力方來進(jìn)行分析。整個(gè)運(yùn)動(dòng)過程分為三種狀態(tài),啟動(dòng)態(tài)、中間態(tài)、收尾態(tài),根據(jù)牛頓第二定律得到物體分別作勻加速、勻速和勻減速直線運(yùn)動(dòng)。
根據(jù)之前的分析,我們可以繪制出物體運(yùn)動(dòng)的速度-時(shí)間曲線和位移-時(shí)間曲線,大家可以看到下面這條曲線就是由上面這條曲線積分得到的,那么問題來了!為什么動(dòng)效設(shè)計(jì)要畫出這樣的運(yùn)動(dòng)曲線呢?
前端同學(xué)可以運(yùn)用曲線進(jìn)行運(yùn)動(dòng)定義,CSS屬性中的transition和animation可指定緩動(dòng)函數(shù),但不支持全部函數(shù),可通過貝塞爾曲線的繪制 達(dá)到自定義的運(yùn)動(dòng)效果,固定貝塞爾曲線中頭、尾兩個(gè)點(diǎn),通過這兩個(gè)點(diǎn)引申出的錨點(diǎn)來確定曲線的弧度,任何運(yùn)動(dòng)曲線都可以拆解為一段段的貝塞爾曲線來進(jìn)行定 義。 貝塞爾曲線繪制函數(shù):http://cubic-bezier.com/#.63,0,1,1
通過CSS為運(yùn)動(dòng)曲線專門設(shè)置的VIP屬性來確定兩個(gè)錨點(diǎn)位置,流暢的動(dòng)效就搞定了
這里再給大家提供一個(gè)更加省事兒的辦法,SCSS,也就是CSS的進(jìn)階版本,還有Javascript可以直接調(diào)用緩動(dòng)函數(shù)庫(kù),大家或許會(huì)對(duì)下面這種復(fù)雜扭曲的函數(shù)有疑惑,其實(shí)這些是具有反饋效果的運(yùn)動(dòng)曲線。根據(jù)我們之前的分析,由于1688首頁(yè)采用的是內(nèi)容靠前的設(shè)計(jì)策略以及簡(jiǎn)約的視覺風(fēng)格,所以我們的動(dòng)效動(dòng)作一定是“穩(wěn)、準(zhǔn)、狠”,絕不拖泥帶水,也絕不喧賓奪主,所以這樣比較Q彈的動(dòng)作是我們極力避免的。其實(shí)這些曲線更適合應(yīng)用在無線端,由于在無線端用戶直接使用手指來進(jìn)行操作,當(dāng)我們需要表達(dá)區(qū)塊元素的彈性、紙質(zhì)或者是卡片的材料隱喻時(shí),用反饋效果來表達(dá)材料和重力是比較恰當(dāng)?shù)摹?緩動(dòng)函數(shù)速查表:http://easings.net/zh-cn#
最終我們會(huì)得到一個(gè)包含時(shí)間點(diǎn)、關(guān)鍵幀、觸發(fā)條件、運(yùn)動(dòng)過程和空間幅度的完整時(shí)間軸,清晰的顯示出頁(yè)面區(qū)塊元素在每一個(gè)時(shí)間點(diǎn)的樣式和樣式之間的過度,有 了這樣的規(guī)范輸出,麻麻再也不用擔(dān)心我的動(dòng)效還原了。具體動(dòng)效請(qǐng)線上查看:http://www.1688.com/ 其實(shí)今天文中提到的技術(shù)方案是有一個(gè)保質(zhì)期的,由于技術(shù)的迭代迅猛,也不知道這個(gè)保質(zhì)期能夠持續(xù)多久,但是按照時(shí)間軸和關(guān)鍵幀的動(dòng)效設(shè)計(jì)思路是不會(huì)過期 的,迪士尼從白雪公主時(shí)期建立的動(dòng)畫設(shè)計(jì)精髓到了今天的超能陸戰(zhàn)隊(duì)上依然成立,大白的每一個(gè)動(dòng)作設(shè)計(jì)從本質(zhì)上來說仍舊是時(shí)間點(diǎn)和空間幅度,所以說,作為動(dòng) 效設(shè)計(jì)師,只要謹(jǐn)記這一點(diǎn),一個(gè)好的動(dòng)效方案就成功了一半,另外的一半就是結(jié)合業(yè)務(wù)和用戶的思考了。
最后總結(jié)一下動(dòng)效設(shè)計(jì)的工作流程,通過對(duì)項(xiàng)目需求和架構(gòu)的綜合分析找到動(dòng)效的切入點(diǎn),提煉發(fā)散出一個(gè)關(guān)鍵動(dòng)作,結(jié)合前端的實(shí)現(xiàn)框架,確定流程邏輯和運(yùn)動(dòng),反復(fù)實(shí)踐檢驗(yàn)得到最優(yōu)方案,別忘了為用戶設(shè)置一個(gè)驚喜,就大功告成了!