使用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/
相關文章
- 使用 node 模擬請求介面
- Openwrt使用Qemu模擬開發。
- 使用Netty模擬發生OOMNettyOOM
- 使用模擬器混淆前端程式碼前端
- python使用Cookie模擬登入PythonCookie
- 有限元模擬 有限體積模擬
- 使用 mock 模擬登入介面資料Mock
- 使用 Netcat 模擬 HTTP 請求HTTP
- Mac 安卓Studio使用外部模擬器Mac安卓
- 使用OkHttp模擬登陸LeetCodeHTTPLeetCode
- 使用mumu模擬器抓包 andriod appAPP
- 如何使用ChatGPT模擬MySQL資料庫ChatGPTMySql資料庫
- 夜神安卓模擬器使用介紹安卓
- 使用Docker+Nginx模擬負載均衡DockerNginx負載
- Dynamics 365 Web API模擬使用者WebAPI
- 使用Python中的字典模擬類Python
- 使用PL/SQL模擬SQLLOAD的功能SQL
- 使用KFOD模擬ASM DISK DISCOVERY過程ASM
- git 模擬Git
- ACP模擬
- Keil的軟體模擬和硬體模擬
- 如何使用RunnerGo模擬使用者分流負載Go負載
- Thinking in Java---多執行緒模擬:銀行出納員模擬+飯店模擬+汽車裝配工廠模擬ThinkingJava執行緒
- 前端模擬使用者的複製操作前端
- Java使用程式碼模擬高併發操作Java
- 使用 express 模擬後臺介面返回資料Express
- 使用KepServerEx進行資料模擬Server
- 使用postman模擬登陸post請求方法Postman
- 【原始碼】使用MATLAB進行ECG模擬原始碼Matlab
- 使用Mock.js模擬資料請求MockJS
- SearchView的簡單使用和模擬搜尋View
- 使用python模擬登陸百度Python
- Facebook網路模擬測試工具ATC使用
- 如何使用Modelsim 6.5做前後模擬
- Gpssworld模擬(二):並排排隊系統模擬
- Altair SimSolid 工程模擬軟體 衡祖模擬AISolid
- PID除錯軟體(C#、模擬、模擬)除錯C#
- NOIP模擬50