動效設計的物理法則

發布人:admin瀏覽次數:11851發布時間:2018-02-03 14:58:55

動效作為當今提拔網頁感官效果的利器,在各種類型的網頁中已經周全開花,如何做到天然流暢讓用戶感覺舒適的動畫效果呢?今天就來跟大家聊一聊動效設計的物理法則,以及它是如何應用的。

首先來一發大師金句,迪士尼動畫大師格里穆·乃特維克曾經說過:


動畫制作和動效設計是本質相通的,我們需要為用戶建立一種”視覺的真實”,即動作是可信的,我們需要獲得的不是照搬線下場景的寫實主義,而是”可信度”,要讓用戶感知到這個動作是成立的。這里,就要搬出嵬峨上的物理學了!

物理學四大基本力——萬有引力、電磁相互作用力、弱相互作用力、強相互作用力,我們在現實生活中能夠感知到的基本上都源自萬有引力(其他三種力咱也分析不出來啥)。換句話說,用戶在現實生活中建立的動作經驗,皆源于物體的”重量感”。要分析萬有引力,就得翻出牛頓大大的課本章節了。



(一)牛頓第一定律

根據牛頓第一定律——慣性定律,任何物體都要保持勻速直線運動或靜止狀況,直到外力迫使它改變運動狀況為止,說白了,就是不考慮任何力的作用的物體運動,其速度大小和方向是沒有任何轉變的,用公式透露表現:


通過以上公式我們可以繪制出勻速直線運動的位移-時間曲線:

應用到網頁設計中,為了實現過渡效果,我們必須模擬出頁面區塊的位移-時間曲線,對于運動拆解分析得到的分段曲線,可以運用計算機圖形圖像造型的基本工具——貝塞爾曲線繪制出來,調用CSS3 animation-timing-function 屬性中的貝塞爾曲線繪制函數cubic-bezier可以輕松的用程序模擬運動軌跡。

例如上圖所示的貝塞爾曲線可以用四個點來定義,其中P0、P3是固定的點,它們的坐標值是默認的[0,0],[1,1]。P1、P2兩點則用來控制曲線的外形和曲率,PS中的鋼筆工具的錨點具有相同功能,這兩個控制點的坐標值是需要我們通過cubic-bezier(x1, y1, x2, y2)自定義的,范圍在[0, 1]。 對于勻速直線運動,將運動時間設置為1s,通過cubic-bezier模擬運動如下:

linear 動畫從頭到尾的速度是相同的。應用到網頁的banner區域切換動效中的效果(動圖需加載):


感覺不是很天然,因為空氣阻力的存在,程序模擬的勻速直線運動在現實生活中是很難實現的,因此對于這樣一個用戶平時很少感知到的運動是很難建立信賴感的。這樣的勻速直線運動也是我們在進行動效設計時需要極力避免的。考慮到需要分析物體運動的受力情況,我們借助牛頓第二定律來拆解運動。

(二)牛頓第二定律

根據牛頓第二定律——物體加速度的大小跟作用力成正比,跟物體的質量成反比,加速度的方向跟作用力的方向相同。當物體持續受到一個不變的力的作用時,它將做勻加速直線運動,用公式透露表現:


繪制出勻加速直線運動的位移-時間曲線:

通過cubic-bezier模擬運動如下:

ease-in 動畫從低速開始,逐漸加速,收尾態速度最快。應用效果:

開始狀況吻合靜止物體開始運動的物理規律,但是收尾態不太吻合,物體在結束運動之前速度是整個運動過程中最快的,這是不合邏輯的。 假如我們讓收尾狀況吻合物理法則,那么就是需要讓物體減速下來,勻減速運動的公式如下:

繪制出勻加速直線運動的位移-時間曲線:

通過cubic-bezier模擬運動如下:

ease-out 動畫從高速開始,以低速結束。應用效果:


模擬的是物體收到一個持續時間很短的推力作用后天然滑行并慢慢休止的過程。在本應用場景使用這種效果是比較合適的,banner圖片剛開始切換運動時,需要用一個比較快的速度來吸引用戶的注重力”嗨!這兒有新的信息!”,在快要抵達最終位置的時候,需要逐漸慢下來,因為此時用戶已經將注重力轉移到新的banner圖上了,用戶需要的是這一區塊逐漸慢下來悅目清楚上面的內容,獲取信息。

假如想要讓banner圖片在肇端階段也是柔和地出現,可以緩入緩出一路使用,位移-時間曲線:

通過cubic-bezier模擬運動如下:

ease-in-out 動畫從低速開始,以低速結束。應用效果:


切換效果特別很是的柔和,也就是我們常說的”緩入緩出”。

(三)賦予材質——速度、形變和反饋

好的動效在知足了基本的物理原則之后還有許多”材質”上的細節增補,主要有速度、形變和反饋這三個方面。 假如我們想要給上面的案例加上一點重量感,也就是讓物體看上去”有質量”,可以再速度上做一點文章,調節一下運動曲線;

通過cubic-bezier模擬運動:

ease動畫從低速開始,動畫以低速開始,然后加快,在結束前變慢。應用效果:


我們可以用這種開始態和結束態絕對值不等的加速度讓運動產生”粘滯感”,可以讓運動的區塊產生更加真實的互動效果。但是另一方面,舛錯等的加速和減速過程有可能會讓動效產生滯滯泥泥、不干脆的感覺,具體應用照舊要具體情況具體分析。

做到對物體運動過程的拆解分析再程序模擬之后,我們還可以對運動物體的外形上花一些小心思,通過物體形變和運動的反饋效果可以為物體賦予”材質”,來看幾個不錯的Web動效案例。

采用ease-out的參數設置,使得所有元素迅速進入用戶視線,又緩慢到達目標位置,動畫流暢天然。

通過不同區塊速度差來實現拉伸頁面的效果,但是細心看每一個區塊的運動,發現現實上是沒有形變的,巧妙的速度轉變也可以讓整個頁面的切換變得生動起來。

通過形變的設置,使得不同高度的柱狀圖形變會顯得很有彈性,細心看該網頁體現的都是”Top”的數據,為柱狀圖賦予彈性效果也是特別很是吻合其所體現的數據”情緒”的,整個頁面都會顯得趣味生動。


通過下拉框的反彈效果現實區塊的”窗簾”設計,運動反饋也可以為網頁元素賦予材質。

本文主要分析的案例集中在網頁動效當中運用最廣泛的線性運動,對于基本動效的其他動作,如縮放、旋轉、不透明度等等效果的轉變,其本質上是相通的,結合物理法則的分析實踐均可以做出天然流暢的效果, 總結一下應用流程: 1. 分析具體內容區塊的運動,結合需求自己繪制出區塊運動的運動數值-運動時間曲線。 2. 拆解曲線,運用貝塞爾曲線模擬運動。 3. 通過速度調整、材質外形轉變和運動反饋來為區塊賦予動效雄厚的細節。







上一條: 網站優化的兩大形式一定要重視

下一條: 響應式Web設計的9項基本原則

国产午夜精品美女视频