12 條提高產品可用性的動效設計的原理
簡評:?? 本文將市面上最常被使用的動效進行了一次總結並逐條闡明這些設計背後的原理,plus 每條原理後面我都會為朋友們選出一些大家最常用的 App 作為例子,順手打開就能體驗啦。
緩動(Easing)、偏移量和延遲(Offset & Delay)主要與時間相關。父子關係(Parenting)用於闡述元素之間的關係。變形(Transformation)、數值變化(Value Change)、遮罩(Masking)、覆蓋(Overlay)、生成(Cloning)多作用於加強元素自身的延續性。視差(Parallax)多作用於表明元素的層級關係。蒙層(Obscuration)、多維化(Dimensionality)、鏡頭平移與縮放(Dolly & Zoom)作用於表明元素與空間的關係。
1. 緩動(Easing)
當運動發生的時候,元素運動速率的變化符合用戶的預期。自然界之中是很少存在完全線性的運動的,沒有任何東西能夠完美的保持勻速運動,緩動效果能夠讓運動看起來更加接近自然,符合用戶的認知,達到用戶的預期。
- 例子:你手機裡面幾乎所有動態效果都是緩動的,看起來是不是非常舒服和諧呢?
2. 偏移量和延遲(Offset & Delay)
利用偏移和延遲來錯開元素的運動時間,表明元素之間的層級與關係。設計師利用錯開運動時間的方法,讓信息或界面元素按照有所區別的秩序進退場,利用明顯的錯序運動暗示用戶信息與界面元素之間或許存在某些區別,或利用錯序的方法吸引用戶的注意。但一般情況設計師不應該使用太多的延時效果,因為譬如說網路的載入本身就已經需要時間,所以延遲效果的使用最好只用於服務於技術。
- 例子:蘋果官網各商品詳情頁均有大量運用。
3. 父子關係(Parenting)
在用戶進行操作時,有父子關係的元素幫助用戶更好地理解它們之間的層級關係以及帶來更加有理可循的操作反饋。正如上面給出的這張動圖,位於下方的方塊的左右運動,而位於上方的方塊跟隨下方方塊進行左右運動並同時進行自己的縮放運動,他們之間構成了父子關係。說得簡單一點,父子關係就是子元素的某個屬性的值隨父元素的某個屬性參數的值按照一定的比例進行變化。
- 例子:Google Allo 按住發送按鈕向上滑動,發送內容字體變大。
4. 變形(Transformation)
利用變形來告知用戶元素的狀態或作用發生了改變。人們對於實物的變形是敏感的,合理的變形能夠清晰高效地將正確的信息以最高效、最令人愉悅的方式傳遞給用戶。注意,這裡所說的變形並不一定要像上面那種動圖一樣動作那麼大才算變形。或許是顏色的變化,也有可能是角度的改變,這些都能達成我們想要的效果。
- 例子:知乎 Live 選擇贊助金額的動畫效果。
5. 數值變化(Value Change)
連續性的數值變化動態效果能讓用戶清晰地看見數值到底是在變多還是變少。關於這一點,我想多用兩張動圖呈現,大家可以看到,數值變化有連續性動態效果的一張是不是更能讓你知道數字是在變多還是變少?想像一下,假如在某款理財 App 裡面,這個數值是你的錢的話,那麼數量的增加與減少這個信息對於用戶來說就非常重要了。
例子:京東金融手機 App,「總資產」,及「白條」頁面的數值變化效果。
6. 遮罩(Masking)
遮罩型的動畫是在界面元素進場或者退場的時候創造連續性效果的一種選擇。這種類型的動效似乎在 Material Design 裡面比較常見,所以沒有使用過原生安卓系統的夥伴們可能比較陌生。
- 例子:原生安卓系統(5.0 以上 7.0以下版本可見,7.0取消了菜單按鈕,以上劃操作代替。)點擊菜單按鈕呼出菜單的動畫效果。美圖秀秀手機 App 處於首頁的各個功能按鈕點擊後的轉場效果。
7. 覆蓋(Overlay)
覆蓋用於在扁平化(沒有厚度)設計的界面上闡明兩個相互獨立的元素的位置關係。在實際上沒有厚度、沒有縱深概念扁平化設計中,覆蓋動畫的使用能讓本來就非常有限的屏幕空間被更好的利用起來。
- 例子:微信橫劃刪除聊天記錄。
8. 蒙層(Obscuration)
蒙層與覆蓋非常相似,在沒有縱深概念的扁平化設計中表現縱深,它並不完全將處於下方的元素遮蓋住,而通常是通過高斯模糊或變暗的手段讓下方的元素保留一定的可視性。
- 例子:在 iOS 裡面隨處可見的毛玻璃效果。
9. 生成(Cloning)
當元素被生產出來時,表達元素與元素之間的連續性的關係。這種動畫能夠非常清晰地表達因某個操作而產生的一個或數個事件發生以及它們之間的關係。
- 例子:蘋果的 Messages 發送信息的效果。
10. 視差(Parallax)
界面元素同時開始運動,但運動的效率不同,構成一種視差的效果。用戶在進行滾動操作的時候通過視差效果可以在扁平化的界面裡面表現空間中個元素的位置及層級關係。這種效果還非常的美觀高端,能讓整個頁面看起來更加活潑一些。通過視差的特性,我能引導用戶去關注應該應該關注的地方,運動效率高的元素通常表達的是距離用戶更近,適合承載更加有使用性意義的重要信息,而運動效率較低的元素通常表達的是距離用戶較遠,而且或許沒有承載什麼重要的信息。
- 例子:蘋果官網各商品詳情頁。
11. 多維化(Dimensionality)
將界扁平化的界面元素多維化從而表達空間中個元素的位置及層級關係。其實扁平並不符人類認知邏輯的(而符合人類認知邏輯是幾乎可以說是可用性的第一原則),所以人們在扁平化的界面裡面下足了功夫來在沒有縱深和厚度的界面里表達縱深和厚度,這句話讀起來非常拗口,但實際上就是這樣的。多維化的使用比較少,因為添加縱深感有很多種手法(覆蓋、蒙層、陰影,etc.),而多維化的開發成本是比較高的。
- 例子:iBooks 的翻頁效果和 Flipboard 的翻頁效果,滴滴打車退出呼叫狀態的 Appbar 動畫。
12. 鏡頭平移與縮放(Dolly & Zoom)
鏡頭平移與縮放聽起來好像是一樣的東西,事實上確完全是兩碼事。鏡頭平移是拍攝的術語,被拍攝物保持靜止而鏡頭移動或鏡頭保持靜止而被攝物體進行遠離或接近鏡頭的前後移動,縮放是鏡頭與被攝物體在位置上保持靜止而被攝物自身進行縮放。鏡頭平移與縮放效果表明元素與空間之間的關係,也能表現出一種縱深感。
- 例子:iOS 的解鎖動畫是典型的鏡頭平移效果,而雙擊放大圖片操作的那個動畫是典型的縮放效果。
參考鏈接:Creating Usability with Motion: The UX in Motion Manifesto
歡迎關注
知乎專欄 「極光日報」,每天為 Makers 導讀三篇優質英文文章;
個人專欄 「DesignCoder」愛技術,愛設計;
我的追波:Zhuyuxuan
推薦閱讀: