使用cocos2d-js模擬水流波浪
其實之前就有想過遊戲中那些波浪效果是怎麼實現的, 剛好最近有些功夫了可以去做一個演示的小demo出來瞭解一下原理.
Demo效果
這裡只是實現了基本的表現, 對於增加紋理並是讓相鄰的長條看起來平滑, 還沒有處理, 具體實現可以見參考網址
原理
基本思想
最基本的原理其實是就是積分把水池, 分成N個長條, 每個長條都當成一個彈簧, 根據胡克定律彈簧形變越大, 彈力也就越大.
步驟
水面某一點受到力時給於對應的長條一個向下的初始速度
根據預先設定的Spread(傳播速度)對長條的速度進行疊加
集中渲染, 重新整理每個長條新的高度
程式碼
https://github.com/samael65535/toy_code/blob/master/EffectLab/fluid.js
參考網址
http://gamedevelopment.tutsplus.com/tutorials/make-a-splash-with-2d-water-effects--gamedev-236
原文連線
http://samael65535.github.io/cocos2d-js/2016/07/06/wave-simulate-cocos2d/
相關文章
- 使用OkHttp模擬登陸LeetCodeHTTPLeetCode
- 使用 Netcat 模擬 HTTP 請求HTTP
- 使用Netty模擬發生OOMNettyOOM
- 使用 node 模擬請求介面
- Vivado使用技巧(18):模擬功能概述
- 爬蟲方式(模擬使用者)爬蟲
- 使用KepServerEx進行資料模擬Server
- 使用 Spring Boot 構建可重用的模擬模組Spring Boot
- 使用canvas繪製dribble風格水波浪Canvas
- 如何使用RunnerGo模擬使用者分流負載Go負載
- 模擬
- Mac 安卓Studio使用外部模擬器Mac安卓
- Dynamics 365 Web API模擬使用者WebAPI
- 使用mumu模擬器抓包 andriod appAPP
- Mock 工具使用 - 模擬弱網測試Mock
- 使用 mock 模擬登入介面資料Mock
- 如何使用ChatGPT模擬MySQL資料庫ChatGPTMySql資料庫
- 【原始碼】使用MATLAB進行ECG模擬原始碼Matlab
- 10.6 模擬賽(NOIP 模擬賽 #9)
- 2024.11.20 NOIP模擬 - 模擬賽記錄
- 使用IDEA模擬git命令使用的常見場景IdeaGit
- 有限元模擬 有限體積模擬
- 使用 express 模擬後臺介面返回資料Express
- Vivado使用技巧(21):模擬中的Debug特性
- 使用postman模擬登陸post請求方法Postman
- 前端模擬使用者的複製操作前端
- 使用Mock.js模擬資料請求MockJS
- Java使用程式碼模擬高併發操作Java
- 在Windows模擬器中使用LVGL8.3Windows
- 使用蒙特卡羅模擬期權定價
- 使用Selenium模擬登陸百度盤
- git 模擬Git
- ACP模擬
- 模擬題
- 模擬賽
- Altair SimSolid 工程模擬軟體 衡祖模擬AISolid
- Gpssworld模擬(二):並排排隊系統模擬
- Swift 波浪動畫Swift動畫
- javascript模擬鳥群使用cax和threejs渲染引擎JavaScriptJS