使用Pixi.js 圖片切換特效(圖片分段下滑以及復原)

1.效果:

圖片

2.實現原理:

將圖片按寬高切分為x*y(具體可以自己調整)個矩形區域,對每個頂點分配一個隨機值noiseValue(-1到1之間),在頂點著色器中根據這個隨機值而做出不同的y軸位移效果從而實現出分段的下滑或者復原的效果。

3.代碼實現:

首先是頂點著色器的代碼,其中需要用到的aVertexPosition,aUvs,noiseValue會通過外部計算后傳入,animationHeight表示位移的高度,animationParam是用來控制頂點位置的0表示在最底端,1表示在最頂端。

圖片

將圖片分成20X10個矩形,即21X11?個頂點,并計算出每個點的noiseValue。

圖片

然后計算出頂點坐標,uv,以及三角形索引。

圖片

根據之前計算的值生成幾何體,將對應的attribute傳入,然后生成shader和Mesh,此時生成的Mesh即我們所需要的圖片。

圖片

給quad添加事件,檔鼠標放上時animationParam變化到1,當鼠標離開時animationParam變化到0。最后添加上遮罩。

圖片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13300.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ lambda表達式詳解

C lambda表達式詳解 C11 lambda表達式精講 [ capture ] ( params ) opt -> ret { body; };capture 是捕獲列表,params 是參數表,opt 是函數選項,ret 是返回值類型,body是函數體 一個完整的 lambda 表達式看起來像這樣&#xf…

醫院污水一體化處理設備有哪些

醫院污水一體化處理設備通常包括以下幾個主要組件: 預處理單元:用于去除污水中的固體懸浮物、顆粒物、油脂等,常見的預處理單元包括格柵、沉砂池、油水分離器等。生物處理單元:用于降解有機物質和去除氮、磷等營養物質。常見的生物…

7D-RESAR性能工程:術語表

文章目錄 1. 前言1.1. 編寫目的1.2. 適應范圍與對象 2. 術語表2.1. RESAR性能工程2.2. 性能測試2.3. 性能項目2.4. 性能項目方案2.5. 性能項目計劃2.6. 性能需求類術語2.6.1. 性能需求/指標2.6.2. 并發用戶2.6.3. 在線用戶2.6.4. 并發度(并發率)2.6.5. 事…

Kubernetes進階對象Deployment、DaemonSet、Service

Deployment Pod 在 YAML 里使用“containers”就可以任意編排容器,而且還有一個“restartPolicy”字段,默認值就是 Always,可以監控 Pod 里容器的狀態,一旦發生異常,就會自動重啟容器。 不過,“restartPo…

Java小游戲之湯姆貓

背景: 博主寫過羊了個羊小游戲,客戶覺得羊了個羊同學寫過了,想換一個,于是筆者想到了湯姆貓。就是那個以前在蘋果手機上的貓。 過程: 初始會有一個貓的圖片展示,然后你點擊按鈕,貓會有不同動作…

C++進階之路:何為默認構造函數與析構函數(類與對象_中篇)

?? 歡迎大家來訪Srlua的博文(づ ̄3 ̄)づ╭?~?? 🌟🌟 歡迎各位親愛的讀者,感謝你們抽出寶貴的時間來閱讀我的文章。 我是Srlua小謝,在這里我會分享我的知識和經驗。&am…

Web3與物聯網:構建智能連接的數字世界

引言 隨著互聯網的不斷發展,物聯網(Internet of Things, IoT)作為一種新興的信息技術,正在逐漸滲透到我們的生活和工作中。而隨著Web3的興起,物聯網將迎來新的發展機遇。本文將探討Web3與物聯網的結合,如何…

如何在職場中構建穩固地位:持續學習、拓展人脈與職業規劃

在日益激烈的職場競爭中,保持一種穩健且前瞻性的狀態是至關重要的,它可以幫助我們在各種“裁員潮”中保持相對安全的位置。以下是一些建議,幫助我們判斷和維持在職場中的安全位置: 首先,持續學習和提升技能是關鍵。職場…

2024年NOC大賽創客智慧(西瓜創客)圖形化復賽編程真題模擬試卷包含答案

NOC 復賽圖形化模擬題 【題目要求】 1、添加角色小貓和“Balloon1”角色氣球(大小 70) 2、添加背景“Boardwalk” 3、點擊綠旗,角色初始位置如圖,小貓從舞臺左側出發,向舞臺右 側移動,移動過程中不斷切換造型 4、當小貓碰到氣球角色,小貓停止移動,氣球逐漸向舞臺上方…

FFmpeg開發筆記(二十七)解決APP無法訪問ZLMediaKit的直播鏈接問題

上一篇文章介紹了如何通過ZLMediaKit實現視頻推拉流,并使用VLC播放器驗證視頻直播地址。即使不用VLC播放器,直接在Qt工程的C代碼中調用FFmpeg的API,也能訪問ZLMediaKit的直播地址,并正常渲染視頻畫面。關于如何在Qt工程中引入FFmp…

Oracle中全量CHECKPOINT和增量CHECKPOINT的區別與作用

全量CHECKPOINT和增量CHECKPOINT對用戶都是透明的,而增量CHECKPOINT只不過是將全量CHECKPOINT要寫的臟塊分時間分批次寫到數據文件中而已,此操作可以極大地減少對數據庫性能的影響。 全量CHECKPOINT 全量CHECKPOINT是指DBWR進程將臟緩沖區列表中的臟塊一…

Spring Boot集成Security快速入門Demo

1.什么是Security? Spring Security是一個Java框架,用于保護應用程序的安全性。它提供了一套全面的安全解決方案,包括身份驗證、授權、防止攻擊等功能。Spring Security基于過濾器鏈的概念,可以輕松地集成到任何基于Spring的應用…

ifconfig 無輸出

https://www.cnblogs.com/YYFaGe/p/14482813.html YYFaGe 博客園首頁聯系管理隨筆 - 56 文章 - 0 評論 - 2 閱讀 - 94650 ifconfig 無輸出 在終端執行ifconfig發現無任何輸出,也無報錯(基于hi3559av100開發板)。 1、參考這個連接解決&…

月薪3萬,沉迷“薅羊毛”

在網購江湖中,蟹老板是一位擁有十年經驗的資深“羊毛黨”。 他不僅是位精明的數學家,更是一位高效的“生產線”工人,專注于各大網購平臺的優惠機制。每逢618大促,他總能憑借超凡的洞察力和手速,輕松斬獲豐厚的“羊毛”…

peft+llama3訓練自定義數據

要微調自己的模型訓練 LLaMA 3,則需要準備一個 JSON 格式的數據集,其中每個條目包含輸入文本和相應的標簽(如果有的話)。以下是一個 JSON 數據集的示例格式: [{"input": "這是一個輸入樣本。",&q…

17.高并發場景下CAS效率的優化

文章目錄 高并發場景下CAS效率的優化1.空間換時間(LongAdder)2.對比LongAdder和AtomicLong執行效率2.1.AtmoictLong2.2.LongAdder2.3.比對 3.LongAdder原理3.1.基類Striped64內部的三個重要成員3.2.LongAdder.add()方法3.3.LongAdder中longAccumulate()方…

pytorch-13_1 深度學習之數據準備

1、手動實現訓練集和測試集的切分 1. data_split()函數 接下來我們開始實踐模型評估過程,首先是對訓練集和測試集的劃分,我們嘗試創建一個切分訓練集和測試集的函數。 def data_split(features, labels, rate=0.7):"""訓練集和測試集切分函數:param feature…

搜索二維矩陣 - LeetCode 熱題 64

大家好!我是曾續緣🧡 今天是《LeetCode 熱題 100》系列 發車第 64 天 二分查找第 2 題 ??點贊 👍 收藏 ?再看,養成習慣 搜索二維矩陣 給你一個滿足下述兩條屬性的 m x n 整數矩陣: 每行中的整數從左到右按非嚴格遞增…

六西格瑪綠帶培訓:解鎖質量工程師的職場新篇章

在質量管理這條道路上,我們或許都曾有過這樣的疑問:為何付出了同樣的努力,卻未能獲得預期的回報?當我們看到身邊的同行們逐漸步入高薪的行列,而自己卻似乎陷入了職業的泥沼,這種對比無疑令人倍感焦慮。然而…

了解等保測評的中間件安全Tomcat,如何檢查配置是否符合安全要求?

在等保測評中,Tomcat中間件的安全性是一個重要的評估內容。Tomcat是一個開源的應用服務器,廣泛應用于Web應用程序的開發和部署。由于其易用性和靈活性,Tomcat成為了一個受歡迎的目標,被黑客攻擊和濫用。因此,保證Tomca…