【我的程式碼】前端遇上After Effects --- 滑鼠懸浮效果(上)
通過AE+PS+CSS3動畫 實現炫酷的滑鼠hover效果(上)——動畫的製作和PNG序列的輸出
一、大體思路
大概就是用AE做動畫匯出幀序列,PS排版成一個長條的圖片,然後再在css樣式中設定動畫。AE做炫酷的動畫簡直輕鬆加愉快,所以可以做許多效果。不過,這種方法僅適合一些用程式碼實現起來比較困難,而對其靈活性又沒有什麼要求的動畫。
我們以滑鼠hover後提示可點選播放的互動為例。
首先來看效果圖:
上圖來自我做的一個網頁,裡面展示了我的一些簡報作品,包括PPT,Prezi,Axeslide等。網頁現還只是個雛形,這個hover效果的動畫做得也還不夠好,不過這裡還是分享一下實現的思路,如下。
1、在AE中製作動畫,匯出png圖片序列,也就是匯出每一幀;
2、將圖片序列匯入的到Pohotshop,排版,得到一個很長的圖片;
3、在css樣式中新增背景圖片,通過改變背景圖片位置來實現動畫;
有人可能不屑了,說這哪裡有標題寫的那樣——較複雜的效果。的確,上面這個例子效果並不炫,但是這種方法的好處就在於,無論你需要什麼動畫,只要能在AE中做出來就行了,CSS中的程式碼甚至不用做什麼改動。
二、在AE中製作動畫
對於熟悉AE的人來說,這個動畫該是信手拈來了,不過即便不熟悉AE的人也沒關係,製作這個動畫並不需要很多的AE技能包。
這裡我們就講詳細一些,照顧初次用AE的人,會用AE的就跳著看吧。
1)首先開啟AE,在專案面板中右鍵新建合成。
設定引數。命名hoverEffect,解析度與網頁中加動畫效果相應div的寬高相同。本例中是240*143 。幀率設定為30,時間1秒就足夠了。
2)在合成面板裡右鍵new--solid,新建一個固態層,
大小維持預設與合成一樣大小,這個固態層作為背景,顏色白色稍微灰一點。這樣便於分辨。
同樣的方法再建一個固態層,設定成正方形,寬高都是143,顏色白色。這個固態層用來做變化的圖形,就是那個三角形。
3)接下來,figure層一個圓形遮罩,方法是選中figure層後,在工具欄中按住alt鍵點選矩形圖示,直到切換成橢圓形-->
同時figure層多了一個遮罩,mask1,就是用它來做動畫。
4)在網上隨便搜一張正三角形的圖片,匯入到AE中。
拖到合成面板中,選中按T鍵,降低透明度,
再按S鍵調整大小,方向鍵調整位置,使其頂點正好在圓邊上。(也可以直接用滑鼠拖動調節)
5)先選中figure層,然後選鋼筆工具
給mask1遮罩在三角形頂點位置加兩個點,這是為圓形向三角形變換而做的準備。
6)開始做動畫。我們一共有30幀,前18幀做滑鼠放上去的動畫,後12幀做滑鼠離開的。(當然你也可以只做滑鼠放上去的動畫,滑鼠離開的反著進行即可)
先點mask1左邊的小三角展開,點mask path前的小秒錶給mask path打上一個關鍵幀。同時右邊時間軸上多了一個菱形(關鍵幀)。
接著我們把指示當前時間的指標拖到第17幀,就不要再動它了。
在工具欄中指標選中的情況下,拖動遮罩的不在三角形上的三個頂點,拖到三角形邊上。(遮罩頂點開始是全選中,在空白處單擊一下再一個個地拖動頂點)
得到這個比較醜的東西后,調整頂點切線的方向,調出三角形。切線兩邊是一起動的,按住alt拖動就單獨動了。
圓形到三角形的變換搞定了,按空格播放預覽一下。
7)還是比較醜。接下來加上旋轉。
時間指標先拖到第18幀(即17f 處,因為是從0開始的),正三角形的圖片用不到了已經,刪掉,選中figure層按R鍵,旋轉90°,點小秒錶打上關鍵幀。
然後指標拖到第一幀,再改一下數值。-1X+0.0° 也就是逆時針一圈
空格預覽一下,還是醜的一逼。
動畫是線性的,給人感覺太 →_→“剛烈”了,按住shift點選兩個菱形關鍵幀,按F9,菱形變成了沙漏形,這樣動畫就ease in ease out 了
如果對預設的ease in ease out不滿意,可以選中關鍵幀然後點選時間軸旁邊的三角函式曲線似的圖示,通過拖動切線來得到滿意的動畫速度曲線。
三角形的頂點太尖銳了,改圓潤一些。(注意時間指標要拖到17f 處再改,不然就自動在別處打關鍵幀了。)
9)接下來我們加上縮放。按S,在0幀處打上關鍵幀,調整圓形大小直到覆蓋灰色部分。
接著在17幀處也調整大小,這裡我設定為70%。
接著在17幀前面每隔1幀(9、11、13、15)設定一個scale的值,這樣四個關鍵幀分別為60%、80%、65%、75%,這四個關鍵幀都是漏斗形的,全部選中後按住ctrl用滑鼠點選一下變成菱形。
同樣的方法給旋轉屬性在9、11、13、15幀也設定一下數值打上關鍵幀(110°、80°、100°、85°),同樣這四個改回菱形。最終我們會得到一種彈彈的效果。預覽一下效果。
當然如果不想要這種Q彈的感覺,這步跳過不做。
10)退出效果就相當簡單了,把指標拖到最後一幀,然後選中第一幀的三個屬性的關鍵幀,ctrl+c 再ctrl + v。OK。
11)動畫基本完成了,接下來調整一下透明度。選中兩層,按ctrl+shift+C 預合成,點選確定,
然後選中這個預合成,按T鍵調出透明度屬性,在0幀和17幀處分別打上關鍵幀,設定合適的數值(10%、80%),同樣在最後一幀打上關鍵幀,設定透明度10%。,調整動畫曲線,得到淡進淡出的效果。
最後為了更好地預覽效果,我們匯入一張背景圖片。把它放在pre-comp1裡面BG層的下面,修改bg層透明度為50%,figure層為80%。選中bg層按ctrl + shift + Y 把顏色改為純白色。
接下來回到hoverEffect合成,按空格預覽一下。
12)效果不錯,那就刪掉背景圖片,輸出PNG序列吧!終於到這一步了!
選擇選單欄中的composition(合成)選擇add to render queue
然後下面出現了這麼個玩意:
點那金黃的字lossless,這裡format選擇為PNG Sequence ,Channels選擇RGB+Alpha (這步相當重要,不然就得不到帶有透明度資訊的PNG了)。點選確定。
然後還是點選金黃的字:Not yet specified,指定輸出路徑。我新建了一個hoverEffect資料夾,序列的名字為hoverEffect_[#####].png,
取消勾選save in subfolder。點選儲存。
最後的最後!點選右側的Render,幾秒鐘就輸出完成了。
是它們!就是它們!多麼可愛。
相關推薦
【我的程式碼】前端遇上After Effects --- 滑鼠懸浮效果(上)
通過AE+PS+CSS3動畫 實現炫酷的滑鼠hover效果(上)——動畫的製作和PNG序列的輸出 一、大體思路 大概就是用AE做動畫匯出幀序列,PS排版成一個長條的圖片,然後再在css樣式中設定動
【功能點】前端vue傳過來的是base64格式(解碼變成二進位制)的圖片怎麼做多圖上傳
此是tp5框架,控制器中的程式碼 總體思路: 1、先接收資料,遍歷到是字串為止 2、處
【Highcharts教程】如何將一個圖表拆分成圖表網格(上)
下載Highcharts最新版本 有時,當圖表具有高密度的資料點(例如具有多個系列的折線圖)時,視覺化可能最終變得混亂並且可能模糊不清。 通過一些仔細的規劃,可以使用多種方法避免資料密度問題。我將在這裡討論的一種方法是小資料或網格圖。此解決方案將資料系列分成單獨的圖表,這些圖表以網格排列,具有相同的
【LeetCode】957. Prison Cells After N Days 解題報告(Python)
作者: 負雪明燭 id: fuxuemingzhu 個人部落格: http://fuxuemingzhu.cn/ 目錄 題目描述 題目大意 解題方法 週期是14 日期
【Cisco NA】單臂路由+DHCP+DHCP中繼+GRE Tunnel(上)
①配置單臂路由 ✔ ②在Branch上開啟DHCP,同時PC1、PC2能通過DHCP獲取到IP地址,並且互相能訪問 ✔ PC1 PC1(config)#no ip routi PC1(config)#no ip routing PC1(config)#int
【怎樣寫程式碼】實現物件的複用 -- 享元模式(二):解決方案
如果喜歡這裡的內容,你能夠給我最大的幫助就是轉發,告訴你的朋友,鼓勵他們一起來學習。 If you like the content here, you can give me the greatest help is forwarding, tell you
【幹貨】Kafka實現淘寶億萬級數據統計(上)
java 生產者 keep 經理 cap enc 余額寶 有感 能力 在ActiveMQ、RabbitMQ、RocketMQ、Kafka消息中間件之間,我們為什麽要選擇Kafka? 下面詳細介紹一下,2012年9月份我在支付寶做余額寶研發,2013年6月支付寶正式推出余額
【SpringMVC架構】SpringMVC入門實例,解析工作原理(二)
rip 業務邏輯層 popu 輸入 implement override article hide -i 上篇博文,我們簡單的介紹了什麽是SpringMVC。這篇博文。我們搭建一個簡單SpringMVC的環境,使用非註解形式實現一個HelloWorld實
【問底】夏俊:深入站點服務端技術(一)——站點並發的問題
而是 思路 臨時 系統負載 表現 json article 不能 情況 摘要:本文來自擁有十年IT從業經驗、擅長站點架構設計、Web前端技術以及Java企業級開發的夏俊,此文也是《關於大型站點技術演進的思考》系列文章的最新出爐內容。首發於CSDN,各位技術人員不
【python-excel】Selenium+python自動化之讀取Excel數據(xlrd)
logs title .html selenium2 ref target targe pos 數據 Selenium2+python自動化之讀取Excel數據(xlrd) 轉載地址:http://www.cnblogs.com/lingzeng86/p/6793398.h
【原始碼剖析】tornado-memcached-sessions —— Tornado session 支援的實現(三)
新地址:https://github.com/AngryHacker/articles/issues/5#issue-372211594 童鞋,我就知道你是個好學滴好孩子~來吧,讓我們進行最後的探(zuo)索(si)!
【原始碼剖析】tornado-memcached-sessions —— Tornado session 支援的實現(二)
客官您終於回頭了!讓我們本著探(zuo)索(si)精神把 session.py 看完吧... 首先看看需要的庫: pickle 一個用於序列化反序列化的庫(聽
【重大更新】DevExpress v18.1新版亮點——Analytics Dashboard篇(一)
使用者介面套包DevExpress v18.1日前正式釋出,本站將以連載的形式為大家介紹各版本新增內容。本文將介紹了DevExpress Analytics Dashboard v18.1 的新功能,快來下載試用新版本!點選下載>> WPF Dashboard Viewer
【機器學習】Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(2)
Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(2) 原文參考:https://www.cnblogs.com/
【機器學習】Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(1)
Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(1) 1. Anacond的介紹 Anaconda指的是一個
【機器學習】Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(4)
Windows +Anaconda3(python3.5)+opencv3.4.1 安裝(4) 想解決import cv2問題 ,於是在網上找了一些方法,但是許多是不可行的,後來發現一
【機器學習】使用Python中的區域性敏感雜湊(LSH)構建推薦引擎
學習如何使用LSH在Python中構建推薦引擎; 一種可以處理數十億行的演算法 你會學到: 在本教程結束時,讀者可以學習如何: 通過建立帶狀皰疹來檢查和準備LSH的資料 選擇LSH的引數 為LSH建立Minhash 使用LSH Query推薦會議論文 使用LSH
【C++筆記】Windows通過命令列編譯執行c程式 (轉載)
1.準備 一臺具備c開發環境的Windows。 驗證方式,命令列輸入gcc -v,檢視是否輸出版本資訊。 gcc -v 1 2.寫程式 在E盤建一個資料夾C,在裡面建立一個Hello.c檔案,副檔名是c,內容如下: #include <stdio.h>
【JAVA面試】JAVA常考點之資料結構與演算法(1)
JAVA常考點之資料結構與演算法(1) JAVA常考點之資料結構與演算法 目錄
【Visual C++】遊戲開發筆記之十 基礎動畫顯示(三) 透明動畫的實現
作者:毛星雲 郵箱: [email protected] 歡迎郵件交流程式設計心得"透明動畫”是遊戲中一定會用到的基本技巧,它通過圖案的連續顯示及圖案本身背景的透明化處理,在背景圖上產生出栩栩如生的動畫效果。看過之前筆記的朋友們應該知道,在筆記六裡我們介紹