2018-9-10 資深UI設(shè)計(jì)者
如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里
動(dòng)畫效果如今已經(jīng)深入到 UI界面的每個(gè)角落。屏與屏之間的切換因?yàn)閯?dòng)效而顯得更加連貫,交互的上下文邏輯也因?yàn)閯?dòng)效的加持而更加清晰。動(dòng)效對(duì)于產(chǎn)品和用戶而言,都是一個(gè)不可多得的重要組成部分。但是當(dāng)我瀏覽相關(guān)的文章的時(shí)候,發(fā)現(xiàn)絕大多數(shù)的動(dòng)效有關(guān)的文章,都僅僅只是針對(duì)特定的動(dòng)效設(shè)計(jì)案例來進(jìn)行分析和描述,少有文章真正系統(tǒng)地闡述動(dòng)效應(yīng)該遵循怎樣的規(guī)則,符合什么樣的特征。這篇文章當(dāng)中,我不會(huì)講述什么新穎的技巧或者前沿的趨勢(shì),但是我會(huì)將動(dòng)效設(shè)計(jì)的主要原則和標(biāo)準(zhǔn)都匯集到一起,總結(jié)出來。
有了這篇文章,你就不用在其他地方學(xué)習(xí)基本的動(dòng)效設(shè)計(jì)規(guī)則了。
當(dāng)元素的位置和狀態(tài)發(fā)生改變的時(shí)候,動(dòng)效的速度應(yīng)該足夠慢,維持足夠長的時(shí)間,讓用戶能夠注意到變化,但是同時(shí),又不能慢到需要用戶去等待。
大量的研究表明,動(dòng)效的最佳持續(xù)時(shí)長是200毫秒到500毫秒之間。這個(gè)研究數(shù)字是基于人腦的認(rèn)知方式和信息消化速度得出來的。任何低于100毫秒的動(dòng)效對(duì)于人的眼睛而言,幾乎都是瞬間,很難被識(shí)別出來。而超過1秒的動(dòng)效會(huì)讓人有遲滯感。
△ 界面中動(dòng)效持續(xù)時(shí)長
在手機(jī)這樣的移動(dòng)端設(shè)備上,按照 Material Design 的建議,動(dòng)效時(shí)長應(yīng)該控制在200~300毫秒之間,在平板電腦上,這個(gè)時(shí)長應(yīng)該延長大概30%,也就是說,時(shí)長應(yīng)該在400~450毫秒之間。原因很簡單,屏幕尺寸越大,元素在發(fā)生位移的時(shí)候,跨越的距離越長,速度一定的情況下,時(shí)長自然越長。相應(yīng)的,在可穿戴設(shè)備的小屏幕上,這個(gè)時(shí)長應(yīng)該縮短30%,在150~200毫秒之間。
△ 移動(dòng)端設(shè)備的屏幕尺寸影響動(dòng)畫的持續(xù)時(shí)長
網(wǎng)頁動(dòng)效的處理方式也不一樣。由于我們習(xí)慣在瀏覽器中直接打開網(wǎng)頁,考慮到瀏覽器性能和大家的使用習(xí)慣,用戶對(duì)于瀏覽器中動(dòng)效變化速率的預(yù)期還是比較快的。相比于移動(dòng)端中的動(dòng)效速度,網(wǎng)頁中的速度會(huì)快上一倍,換句話說,就是動(dòng)效的持續(xù)時(shí)長應(yīng)該在150~200毫秒之間。如果持續(xù)時(shí)間太長,用戶會(huì)忍不住覺得網(wǎng)頁卡住了。
不過,如果你的網(wǎng)頁中所用的動(dòng)效并非功能性的,而是裝飾用的,或者用來吸引用戶的注意力,那么請(qǐng)忘記這個(gè)規(guī)則,在這種情況下,動(dòng)效可以更長。
更大的屏幕=更慢的動(dòng)效?絕不是如此!
請(qǐng)務(wù)必記住,無論是在什么平臺(tái)上,動(dòng)效的持續(xù)時(shí)長絕不是單純?nèi)Q于屏幕尺寸和運(yùn)動(dòng)距離,還取決于平臺(tái)特征、元素大小、功能設(shè)定等等。較小的元素或者較小的變化,相應(yīng)的動(dòng)效應(yīng)該更快一點(diǎn)。因此,大而復(fù)雜的元素動(dòng)效持續(xù)時(shí)間更長,看起來也更舒服一點(diǎn)。
大小相同的元素,在移動(dòng)的時(shí)候,移動(dòng)距離最短的元素,是停止下來的。
與較大的元素相比,較小的元素運(yùn)動(dòng)速度應(yīng)該更慢,因?yàn)橄嗤囊苿?dòng)距離,對(duì)于小元素而言,位移距離和自身大小比例倍數(shù)更大,相對(duì)偏移更遠(yuǎn)。
△ 動(dòng)效的持續(xù)時(shí)長還和元素大小、運(yùn)動(dòng)距離有關(guān)
動(dòng)效的運(yùn)動(dòng)規(guī)律要符合物理規(guī)律,當(dāng)元素運(yùn)動(dòng)到邊界,發(fā)生碰撞的時(shí)候,碰撞的「能量」最終是要均勻分?jǐn)傁聛淼?,而彈跳的在多?shù)情況下是不適合的,僅在特殊情況下適合使用。
△ 避免使用彈跳,它會(huì)分散用戶的注意力
元素的運(yùn)動(dòng)過程應(yīng)該是清晰的,盡量不要在運(yùn)動(dòng)中使用模糊的效果(是的,說的就是 AE 的模糊動(dòng)效愛好者們),模糊的動(dòng)效不適合在 UI界面中使用。
△ 不要在動(dòng)效中使用模糊效果
列表項(xiàng)(新聞列表、郵件列表等)所使用的動(dòng)效,在實(shí)際運(yùn)動(dòng)的過程中,項(xiàng)和項(xiàng)之間應(yīng)該有輕微的延遲,元素之間的延遲應(yīng)該控制在20~25毫秒之間,如果持續(xù)時(shí)間再長,可能會(huì)給人一種遲滯的觀感。
△ 列表項(xiàng)之間的延遲應(yīng)該在20~25毫秒
緩動(dòng)指的是物體在物理規(guī)則下,漸進(jìn)加速或減速的現(xiàn)象。在動(dòng)效中加入緩動(dòng)的效果能夠讓運(yùn)動(dòng)顯得更加自然,這是運(yùn)動(dòng)的基本原則之一。對(duì)于緩動(dòng),迪士尼的兩位關(guān)鍵性的動(dòng)畫大師 Ollie Johnston 和 Frank Thomas 在他們的著作《The Illusion of Life: Disney Animation》中有過非常詳盡的描述。
為了不讓動(dòng)效看起來機(jī)械或者人工痕跡太明顯,元素的運(yùn)動(dòng)應(yīng)該有漸進(jìn)加速和漸進(jìn)減速的特征,就像物理世界當(dāng)中其他的物體這樣。
勻速直線運(yùn)動(dòng)
不受任何物理力量的影響,勻速直線運(yùn)動(dòng)看起來是非常不自然的,尤其是對(duì)于人眼而言。
所有用來設(shè)計(jì)動(dòng)畫的應(yīng)用都會(huì)使用坐標(biāo)軸和曲線來闡述動(dòng)效的運(yùn)動(dòng)特征,我將嘗試闡述它們的含義,以及如何使用。坐標(biāo)軸的 X軸是實(shí)現(xiàn),而 Y軸則表示的唯一,換句話來說,如同我們?cè)诔踔形锢碇兴鶎W(xué)到的,坐標(biāo)軸上的線條描述的是速度和加速度的特征。下面所示的直線,表示速度是均勻的,也就是勻速直線運(yùn)動(dòng),物體在相同時(shí)間內(nèi)運(yùn)動(dòng)的距離是不變的。
△ 勻速直線運(yùn)動(dòng)的座標(biāo)圖
均勻的變化通常只會(huì)用在色彩的改變或者透明的改變上,一般來說,我們也可以讓背景元素均勻運(yùn)動(dòng),而前景元素保持不變,來呈現(xiàn)它的狀態(tài),就像上圖一樣。
緩動(dòng)加速曲線
通過曲線我們可以看到,物體開始時(shí)候的初速度比較低,運(yùn)動(dòng)緩慢,隨后速度逐漸增加,這意味著物體在加速運(yùn)動(dòng)。
△ 加速曲線
當(dāng)物體加速飛出屏幕的時(shí)候,可以使用這種加速曲線,比如界面中被用戶使用滑動(dòng)手勢(shì)甩出去的卡片。但是請(qǐng)記住,只有當(dāng)運(yùn)動(dòng)對(duì)象需要完全離開界面的時(shí)候才會(huì)這么使用,如果它還需要再回來的話,則不行。
△ 以加速運(yùn)動(dòng)將卡片扔出屏幕
動(dòng)畫曲線有助于正確傳達(dá)訊息,甚至表達(dá)情緒和感覺。在下面的案例當(dāng)中,我們可以看每個(gè)元素的運(yùn)動(dòng)位移是完全一樣的,所消耗的總時(shí)長也是一樣的,但是運(yùn)動(dòng)的速率變化是不同的,這一點(diǎn)也體現(xiàn)在曲線上,所表現(xiàn)出來的情緒也不同。當(dāng)然,通過調(diào)整曲線,你能夠讓物體的運(yùn)動(dòng)軌跡盡可能接近現(xiàn)實(shí)世界。
緩動(dòng)減速曲線
當(dāng)元素從屏幕外運(yùn)動(dòng)到屏幕內(nèi)的時(shí)候,動(dòng)效應(yīng)該遵循這類曲線的運(yùn)動(dòng)特征。從全速進(jìn)入屏幕開始,速度降低,直到完全停止。
△ 減速曲線
減速曲線可以適用于多種不同的 UI控件和元素,包括從屏幕外進(jìn)入屏幕內(nèi)的的卡片、條目等。
△ 減速曲線案例
在這種曲線之下,物體從靜止開始加速,到達(dá)速度最高點(diǎn)之后開始減速直到靜止。這種類型的元素在 UI界面中最為常見,每當(dāng)你不知道要在動(dòng)效中使用哪種運(yùn)動(dòng)方式的時(shí)候,可以試試標(biāo)準(zhǔn)曲線。
△ 標(biāo)準(zhǔn)曲線
根據(jù) Material Design 的規(guī)范,最好使用不那么對(duì)稱的增速和減速的過程,讓動(dòng)效看起來更加真實(shí)。同時(shí)大家會(huì)更加在意運(yùn)動(dòng)的結(jié)果,曲線的末端,也就是運(yùn)動(dòng)結(jié)束的過程最好進(jìn)行適當(dāng)?shù)膹?qiáng)調(diào),換句話說就是減速過程持續(xù)的時(shí)長最好超過開始加速的時(shí)長,用戶將會(huì)更加清楚地觀察到運(yùn)動(dòng)的最終結(jié)果,從而更好地明白運(yùn)動(dòng)的終止?fàn)顟B(tài)。
△ 對(duì)稱和非對(duì)稱運(yùn)動(dòng)的差異
當(dāng)元素從屏幕的一個(gè)位置移動(dòng)到另外一個(gè)位置的時(shí)候,最好使用這種標(biāo)準(zhǔn)的緩動(dòng)曲線,這個(gè)過程中,盡量不要讓動(dòng)畫效果引人注意,不要使用戲劇化的效果。
△ 卡片元素從屏幕上運(yùn)動(dòng)的時(shí)候,不對(duì)稱的緩動(dòng)曲線
當(dāng)元素從屏幕上消失的時(shí)候,采用了相同的不對(duì)稱緩動(dòng)曲線,用戶同樣可以通過滑動(dòng)回到之前的位置。這個(gè)環(huán)節(jié)使用了抽屜式導(dǎo)航控件。
△ 抽屜式導(dǎo)航隨著緩動(dòng)曲線從屏幕上隱藏
從這些案例當(dāng)中,可以看出許多動(dòng)效的初學(xué)者對(duì)于運(yùn)動(dòng)規(guī)則的了解還不足。比如下面的這個(gè)動(dòng)效,元素隨著減速曲線出現(xiàn),然后使用標(biāo)準(zhǔn)緩動(dòng)曲線消失。根據(jù) Material Design 的標(biāo)準(zhǔn),新出現(xiàn)的元素持續(xù)的時(shí)間應(yīng)該更長,因?yàn)樾枰嗟淖⒁饬Α?
△ 導(dǎo)航菜單的出現(xiàn)和消失
貝賽爾曲線函數(shù) cubic-bezier()是用來描述曲線的,它的名字前面之所以帶有 Cubic 是因?yàn)槊總€(gè)貝賽爾曲線的描述都是基于四個(gè)不同的參數(shù)來確定的。曲線的起點(diǎn)(0,0)和終點(diǎn)(1,1)在坐標(biāo)軸上的位置是已經(jīng)事先確定的。
為了簡化你對(duì)于貝賽爾曲線的理解,我們推薦兩個(gè)網(wǎng)站,分別是 easings.net 和 cubic-bezier.com ,前者包含了最常見的曲線的列表,你可以將他們復(fù)制到你的原型工具中,第二個(gè)網(wǎng)站為你提供了不同曲線的參數(shù),你可以直接在其中查看各種對(duì)象的移動(dòng)方式。
△ 不同類型的 cubic-bezier()的曲線和參數(shù)
就像芭蕾舞的舞蹈編排一樣,動(dòng)畫效果也是需要編排的,它的主要目的是讓元素從一個(gè)狀態(tài)切換到下一個(gè)狀態(tài),自然過渡,讓用戶的注意力自然地被引導(dǎo)過去。
編排有兩種不同的方式,一種是均等交互,另一種是從屬交互。
均等交互
均等交互意味著所有的元素和對(duì)象都遵循一個(gè)特定的編排的規(guī)則。
在這個(gè)實(shí)例當(dāng)中,所有的卡片都遵循著一個(gè)方向來引導(dǎo)用戶的注意力,自上到下地次第加載。相反,沒有按照這樣清晰的規(guī)則來加載,用戶的注意力會(huì)被分散,元素的外觀排布也會(huì)顯得比較糟糕。
△ 用戶的注意力應(yīng)該沿著一個(gè)流向來引導(dǎo)
至于表格式的布局,它相對(duì)就復(fù)雜一點(diǎn)。在這里,用戶的視線流向應(yīng)該是清晰的對(duì)角線方向,因此,逐個(gè)區(qū)塊次第出現(xiàn)是一個(gè)糟糕的設(shè)計(jì)。這樣的逐個(gè)顯示,一方面耗時(shí)太長,另一方面會(huì)讓用戶覺得元素的加載方式是鋸齒狀的,這種方式并不合理。
△ 沿著對(duì)角線加載
從屬交互
從屬交互指的是使用一個(gè)中心對(duì)象作為主體,來吸引用戶的注意力,而其他的元素從屬于它來逐步呈現(xiàn)。這樣的動(dòng)畫設(shè)計(jì)能夠創(chuàng)造更強(qiáng)的秩序感,讓主要的內(nèi)容更容易引起用戶的注意。
在其他的設(shè)計(jì)當(dāng)中,用戶很難搞清楚哪個(gè)才是主要的,因?yàn)樽⒁饬Ρ环稚⒘?。因此,如果要設(shè)置多個(gè)動(dòng)畫元素,應(yīng)該定義清楚誰為主,誰是中心,并且盡量按照從屬關(guān)系來次第呈現(xiàn)不同的子元素。
如果只有一個(gè)中心對(duì)象,那么其他的對(duì)象的運(yùn)動(dòng)方式都要受它制約,否則用戶分不清楚主次。
根據(jù) Material Design 的規(guī)定,當(dāng)元素不成比例地變幻尺寸的時(shí)候,它應(yīng)該沿著弧線運(yùn)動(dòng),而不是直線運(yùn)動(dòng),這樣有助于讓它看起來更加自然。所謂「不成比例」地變化指的是元素的長和寬的變化并不是按照相同比例來縮放或者變化的,換句話來說,變化的速度也不一樣。(比如,方形變成矩形)
△ 不成比例地改變對(duì)象外觀的時(shí)候,運(yùn)動(dòng)軌跡應(yīng)該是弧線的
相反,如果元素是按照比例改變大小的時(shí)候,應(yīng)該沿著直線移動(dòng),這樣不僅操作更加方便,而且更符合均勻變化的特征。看一下真實(shí)的案例,你會(huì)發(fā)現(xiàn)直線的運(yùn)動(dòng)軌跡會(huì)更加合理。
△ 成比例變化大小的時(shí)候,應(yīng)該沿著直線運(yùn)動(dòng)
當(dāng)元素不成比例放大的時(shí)候,運(yùn)動(dòng)軌跡是弧線,而這種弧線運(yùn)動(dòng)軌跡有兩種不同的呈現(xiàn)一種,一種軌跡是初始方向?yàn)榇怪狈较蚨\(yùn)動(dòng)結(jié)束時(shí)瞬間運(yùn)動(dòng)方向是水平的(Horizontal out),另外一種初始方向是水平方向而運(yùn)動(dòng)結(jié)束時(shí)瞬間運(yùn)動(dòng)方向是垂直的(Vertical out)。
那么怎么選取這個(gè)方向呢?很簡單,元素運(yùn)動(dòng)曲線的方向,應(yīng)該是要向界面的主要運(yùn)動(dòng)方向的主軸靠攏重合。舉個(gè)例子,在下面的動(dòng)效當(dāng)中,整個(gè)界面的滾動(dòng)方向是上下滾動(dòng),主軸是縱向的,因此,當(dāng)卡片點(diǎn)擊之后被展開的時(shí)候,會(huì)先向右水平移動(dòng),并最終以垂直運(yùn)動(dòng)結(jié)束,運(yùn)動(dòng)的最終方向,切線是垂直的,也就和垂直方向的主軸重合了。
△ 元素按照弧線展開的時(shí)候,最終方向應(yīng)該和主軸重合
如果幾個(gè)不同的元素的運(yùn)動(dòng)軌跡相交,那么他們不能彼此穿越。如果每個(gè)元素都必須通過某個(gè)交點(diǎn),抵達(dá)另外一個(gè)位置,那么應(yīng)該次第減速,依次通過這個(gè)點(diǎn),給彼此留出足夠的空間。另外一種選擇,是元素不相交,而是像實(shí)體一樣在靠近的時(shí)候,彼此推開。為什么?因?yàn)槲覀兺ǔ<俣ń缑嬷兴械脑囟嘉挥谕粋€(gè)平面當(dāng)中。
在運(yùn)動(dòng)過程中,元素不應(yīng)彼此穿越,而應(yīng)該互相留出空間。
但是這一點(diǎn)也不是一成不變的。在比較擁擠的界面當(dāng)中,某個(gè)元素可以「越過」其他的元素,它同樣沒有穿過其他的元素消失,而是單純的移動(dòng)。這一點(diǎn)從某種意義上也是延續(xù)自我們?nèi)粘5奈锢硪?guī)律,只不過我們會(huì)默認(rèn)界面中的元素在這個(gè)情況下?lián)碛辛烁叨冗@樣的屬性。
△ 元素可以越過其他的元素運(yùn)動(dòng)
我們總結(jié)了這么多動(dòng)效運(yùn)動(dòng)的規(guī)則和原則,從某種意義上還是延續(xù)自我們對(duì)于物理世界的認(rèn)知,摩擦力和加速度在虛擬界面中以另外的方式續(xù)存著。模仿現(xiàn)實(shí)世界的界面讓我們對(duì)于界面的秩序有更清晰的認(rèn)知,允許我們更輕松的了解和訪問界面的內(nèi)容。
如果動(dòng)效按照正確的方式來設(shè)計(jì),它應(yīng)該是不顯著,且不會(huì)分散用戶注意力的。如果不是這樣,那么你需要讓動(dòng)效更微妙一點(diǎn),實(shí)在不行甚至需要將它移除。動(dòng)效不應(yīng)該成為影響用戶操控界面的障礙,或者轉(zhuǎn)移注意力的存在。
當(dāng)然,即使是遵循這么多規(guī)律,動(dòng)效的設(shè)計(jì)依然是一門藝術(shù),而非單純的科學(xué),多做測(cè)試多摸索總是有必要的。
藍(lán)藍(lán)設(shè)計(jì)( sillybuy.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)。
藍(lán)藍(lán)設(shè)計(jì)的小編 http://sillybuy.com