隨著CSS3和HTML5的發(fā)展,越來越多狂拽炫酷叼炸天的動效在網頁設計上遍地開花,,根據最新的瀏覽器市場份額報告,,IE6的份額已經降到了5.21%,這簡直是一個喜大普奔的消息,,做動效可以完全不care低端瀏覽器的時代已經在向我們招手了,。俗話說得好,顏值不夠,,動效來湊,,Web動效已經不僅僅是網頁設計的潤滑劑了,它的功能更多的體現(xiàn)在了交互邏輯,、視覺渲染和創(chuàng)新實踐上,,上能引人注目,下能潛移默化,。 下面將通過經典的黃金圈法則來為大家講解我們在B2B聚合頁——1688首頁項目上的動效設計,,主要分為三個部分,動效設計的目的,、方法和方案,。 首先來一發(fā)大師金句,迪士尼動畫大師乃特維克的畢生經驗濃縮成一句話就是“動畫的一切皆在于時間點和空間幅度”,,動效設計和做動畫是一脈相通的,,我們不是要做寫實主義的動畫,而是要通過時間點和空間幅度的設置為用戶建立運動的可信度,。 在設計開發(fā)的過程中,,當設計師做好了一套靜態(tài)頁面而且設想出N種有趣的交互動畫,再交付前端進行重構還原頁面的時候,,由于無法提供精確的動態(tài)參數,,導致溝通和制作的成本增加,而最終的測試demo也差強人意,。因此,,我們在1688首頁項目的動效設計中總結歸納出一套適于設計師表達動效概念的方法和流程。 動效設計目的 首先,,為什么做動效,,在動效設計的初期階段,我們需要從業(yè)務和用戶兩個方面對對項目本身進行一個需求分析,從中得出動效在其中的作用,,業(yè)務方面是引導用戶,,層級信息展示,用戶方面是頁面過度,,改善用戶體驗,,動效設計的目的是為了自然流暢的呈現(xiàn)B類電商網站信息,并且,,體現(xiàn)出專業(yè)和誠信的氣質,。 動效設計方法 接下來,具體到如何做動效,,正所謂設計來源于生活,,運動過程的定義都是基于我們日常的生活經驗的,為了給B類用戶制造熟悉感,,我們設置了一個動效設計的切入點——B類商務特色動作,,并為每一個動作提煉了一個動效方式,包括: 蓋章,,狀態(tài)切換不好把控,,動作銜接有難度; 交換名片,,切換動作可參考,; 掃碼,科技感過重,,應用較難,; 包裝,3D動作幅度大,,過度不自然; 握手,,效果單一,,可參考; 簽名,,這個效果是無法應用的,; 流水線,一個完整的流水線場景中基本包含頁面motion的所有動作,,可提煉易發(fā)散,,同時,我們B類電商承載了從設計師,、原料商,、生產商、批發(fā)商、零售商中各個環(huán)節(jié)的業(yè)務,,包含底層的支付物流等等,,就是一個宏觀的傳送帶,因此作為B2B業(yè)務的聚合頁,,我們把傳送帶作為1688首頁動效設計的基本動作,。 確定好了基本動作之后,我們需要結合頁面的交互框架對區(qū)塊進行一個層次分級,,設定節(jié)奏,,突出重點。從用戶看到一個頁面的瞬間開始,,如果在展示面積相同的情況下,,用戶的注意力被吸引的情況是:動態(tài)>顏色>形狀。判斷一個區(qū)塊是否需要動效主要基于以下兩點:1.交互上,,是否包含隱藏信息,;2.視覺上,是否需要輔助渲染,。所以,,對于1688首頁上點擊率最高的搜索和隱藏信息最多的類目、banner將會是我們設計的重點,。 下面我們來具體分析一下剛才確定的三個重點區(qū)塊的動效設計,,對于一般的輸入框,需要用戶在輸入框中產生點擊之后才能開始輸入操作,,在1688首頁項目中,,我們改進了輸入框的方式,設定了一個閾值的時間,,讓用戶鼠標hover到輸入框后,,停留時間超過閾值則激活輸入框,用戶可以直接進行輸入的操作,,減少用戶點擊,,讓操作更加流暢。 類目區(qū)域,,共分為三級菜單,,我們用次級物體運動來表達這三級菜單之間的關系,附屬性質的次級物體運動是伴隨著主要物體運動產生的,,次級運動相較主要物體運動有一定的延遲,,所以我們在類目區(qū)域也是通過運動的時間差帶來邏輯上的關系,一級菜單牽引出二級菜單,,二級菜單牽引出三級菜單,。 banner的視差滾動效果以及樓層的分屏加載效果是模擬傳送帶的運動過程,,我們把主體看成是受力方,傳送帶看成是施力方來進行分析,。整個運動過程分為三種狀態(tài),,啟動態(tài)、中間態(tài),、收尾態(tài),,根據牛頓第二定律得到物體分別作勻加速、勻速和勻減速直線運動,。 根據之前的分析,,我們可以繪制出物體運動的速度-時間曲線和位移-時間曲線,大家可以看到下面這條曲線就是由上面這條曲線積分得到的,,那么問題來了,!為什么動效設計要畫出這樣的運動曲線呢? 前端同學可以運用曲線進行運動定義,,CSS屬性中的transition和animation可指定緩動函數,,但不支持全部函數,可通過貝塞爾曲線的繪制達到自定義的運動效果,,固定貝塞爾曲線中頭,、尾兩個點,通過這兩個點引申出的錨點來確定曲線的弧度,,任何運動曲線都可以拆解為一段段的貝塞爾曲線來進行定義,。 貝塞爾曲線繪制函數:http:///#.63,0,1,1 通過CSS為運動曲線專門設置的VIP屬性來確定兩個錨點位置,流暢的動效就搞定了 這里再給大家提供一個更加省事兒的辦法,,SCSS,,也就是CSS的進階版本,還有Javascript可以直接調用緩動函數庫,,大家或許會對下面這種復雜扭曲的函數有疑惑,,其實這些是具有反饋效果的運動曲線。根據我們之前的分析,,由于1688首頁采用的是內容靠前的設計策略以及簡約的視覺風格,,所以我們的動效動作一定是“穩(wěn)、準,、狠”,絕不拖泥帶水,,也絕不喧賓奪主,,所以這樣比較Q彈的動作是我們極力避免的。其實這些曲線更適合應用在無線端,,由于在無線端用戶直接使用手指來進行操作,,當我們需要表達區(qū)塊元素的彈性,、紙質或者是卡片的材料隱喻時,用反饋效果來表達材料和重力是比較恰當的,。 緩動函數速查表:http:///zh-cn# 動效設計方案 最終我們會得到一個包含時間點,、關鍵幀、觸發(fā)條件,、運動過程和空間幅度的完整時間軸,,清晰的顯示出頁面區(qū)塊元素在每一個時間點的樣式和樣式之間的過度,有了這樣的規(guī)范輸出,,麻麻再也不用擔心我的動效還原了,。具體動效請線上查看:http://www.1688.com/ 其實今天文中提到的技術方案是有一個保質期的,由于技術的迭代迅猛,,也不知道這個保質期能夠持續(xù)多久,,但是按照時間軸和關鍵幀的動效設計思路是不會過期的,迪士尼從白雪公主時期建立的動畫設計精髓到了今天的超能陸戰(zhàn)隊上依然成立,,大白的每一個動作設計從本質上來說仍舊是時間點和空間幅度,,所以說,作為動效設計師,,只要謹記這一點,,一個好的動效方案就成功了一半,另外的一半就是結合業(yè)務和用戶的思考了,。 最后總結一下動效設計的工作流程,,通過對項目需求和架構的綜合分析找到動效的切入點,提煉發(fā)散出一個關鍵動作,,結合前端的實現(xiàn)框架,,確定流程邏輯和運動,反復實踐檢驗得到最優(yōu)方案,,別忘了為用戶設置一個驚喜,,就大功告成了! |
|