让 cocos Q弹起来!物理流体之 LiquidFun 流体纹理 shader !

效果预览

让 Cocos Q弹起来吧!

原理

物理粒子系统

引擎内置的 box2d.js 其实已经携带了 google 的 liquidfun(但是没有公开接口和适配)。并且引擎还对 box2d 做了一次适配,绑定到全局变量的 b2。

参考 https://github.com/google/liquidfun 中的其中一个demo。

粒子系统创建过程大概分为以下几步创建粒子系统定义 ParticleSystemDef (粒子半径,强度等参数)

通过粒子定义创建粒子系统

创建粒子分组定义 ParticleGroupDef (建立形状,粒子类型,位置等)

通过粒子分组定义创建粒子分组需要注意物理世界与引擎内的坐标有一个像素转换的关系,转成 Cocos Creator中的代码大概如下。

渲染

本次采用 cc.MeshRenderer 这个组件去组织顶点纹理数据。并且使用 gl.POINTS 点渲染模式去渲染每个粒子。

主要思路如下:根据节点位置创建粒子组的位置

创建粒子组后,计算相应的纹理坐标

每帧根据物理粒子的位置,更新粒子的顶点坐标 如何把物理世界的位置同步到 Cocos 中的位置?

参考引擎源码的同步方法,大概也能写出这个。

纹理坐标计算这边写的比较简单,没有考虑节点各种变换和裁剪。(可以参考这篇文章中的纹理计算)

其他

简单搬运 liquidfun demo,未测试性能,仅供参考学习。项目代码在 2.4.x 目录下。

小结box2d + LiquidFun !ParticleSystem !shader !

以上为白玉无冰使用 Cocos Creator v2.4 实现 "流体之 LiquidFun 流体纹理 shader" 的技术分享。希望这篇 Cocos Creator教程 对你有帮助。知识不过是潜在的力量,只有将它组织成明确的行动计划,并指引它朝着某个明确目的发挥作用的时候,知识才是力量。

更多精彩

完整代码(详见readme):

https://github.com/baiyuwubing

点击“阅读原文”查看精选导航

“点赞“ ”在看” 鼓励一下

ps:以上是游戏编程系列中隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !全部内容,希望文章能够帮你解决隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !所遇到的游戏开发问题。

本文收录在 游戏编程

cocos creator粒子不变色_隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !相关推荐

  1. cocos creator粒子不变色_Cocos Creator 3D 粒子系统初战: 不要钱的酷炫火焰拿走不谢!...

    原标题:Cocos Creator 3D 粒子系统初战: 不要钱的酷炫火焰拿走不谢! 五维:技术经理, 10年编程经验, 专注游戏领域,不断进击财富自由.分享实用的教程.经验.源码.心得! 先展示一下 ...

  2. cocos creator粒子不变色_Cocos Creator 3D 粒子系統初戰: 不要錢的酷炫火焰拿走不謝 !...

    五維:技術經理,10 年編程經驗,專注遊戲領域,不斷進擊財富自由.分享實用的教程.經驗.源碼.心得! ** 先展示一下最終效果:** 最終效果 後邊圖片挺多的,使用流量看文章的,祝好運. 你聽說過 5 ...

  3. cocos creator粒子不变色_Cocos Creator粒子系统简单操作

    简介 有的时候,我们需要在游戏里面实现大量的特效,比如一些爆炸效果,子弹射击,以及天气效果,这个时候就可以用到粒子系统.粒子系统是模拟自然界的而一些粒子的物理运动效果,单个粒子是无法体现粒子 的效果的 ...

  4. Cocos Creator 粒子效果插件

    [插件]Cocos Creator 粒子效果 版本2.3.4 参考: 粒子特效制作工具:Cocos2d Paticle Builder 粒子特效制作工具:Particle Designer 粒子特效制 ...

  5. cocos creator 方法数组_基于 Cocos 游戏引擎的音视频研发探索

    本文转载自公众号:流利说技术团队(lls_tech) 版权归原作者所有 本文主要介绍了流利说团队基于 Cocos 游戏引擎进行音视频相关需求开发过程中所遇到的问题和解决方案.文章中将依次阐述 Coco ...

  6. qt自定义插件creator不显示_让Qt Creator更懂我们的自定义模块

    用QML模块的方式组织软件是个不错的结构设计,笔者的QtQuick项目都会首先考虑QML模块的划分,然后以搭积木的方式完成最后的开发. Qt Creator是开发QtQuick程序的首先IDE,因为它 ...

  7. cocos 粒子编辑_编辑精选–粒子的细节!

    cocos 粒子编辑 From little motes of dust floating in the sunlight to the magnificence of a supernova, ma ...

  8. 【插件】Cocos Creator 粒子效果

    版本2.3.4 参考: 粒子特效制作工具:Cocos2d Paticle Builder 粒子特效制作工具:Particle Designer 粒子特效制作工具:Particle2dx cocos粒子 ...

  9. processing图片粒子化_个人见到的processing(优质且全的教程,一定看原文)

    这个教程的一个好处是,还会介绍一些常用的库. 不介绍每个函数, ellipse, box 的参数, 很适合有程序经验的同学. 多个文件之间,想当于直接把多个文件放在一起执行. 同一个project 里 ...

最新文章

  1. Miniconda3+PyTorch1.7.1(GPU版)+Win10_x64+GTX1060深度学习环境搭建
  2. python语言程序设计基础网课-Python语言程序设计基础答案
  3. net-speeder 安装
  4. 九余定理(hdu1013)
  5. maven web项目build失败
  6. 灵魂拷问:你和大佬,技术差距有多大?
  7. 本周Web2.0小工具推荐[2008-09-13]
  8. python处理word或者pdf文件_利用python程序生成word和PDF文档的方法
  9. php 到精通 书,PHP从入门到精通——读书笔记(第20章:Zend Framwork框架)
  10. linux中oppenoffice的安装
  11. 《缠中说禅108课》108:何谓底部?从月线看中期走势演化
  12. DNS中cname记录的作用
  13. android app根目录下cache,Android 缓存目录 Context.getExternalFilesDir()和Context.getExternalCacheDir()方法...
  14. Intellij IDEA 丢失 Project Structure 问题
  15. 火狐浏览器提示响应已被截断(有效解决)
  16. 【ML】range、arange和linspace函数
  17. SQL行转列方式优化查询性能实践
  18. 是什么在浪费我的硬盘空间-SpaceSniffer
  19. CSDN技能树实践测评:实践是检验真理的唯一标准
  20. Fabric 1.0源代码分析(34) Peer #peer chaincode命令及子命令实现

热门文章

  1. matlab中for循环的步长
  2. leetcode 1209 python
  3. 文字方向不见了_数字化工厂是工厂变革的方向
  4. 数组图形的一些数学操作 有可能考试会遇到哦
  5. 史上最全Redis面试题(2020最新版)
  6. 5h Oralcle进阶直播课,限时免费报名,手慢无!
  7. 静默错误:为什么看了那么多灾难,还是过不好备份这一关?
  8. 华为云数据库首席架构师:关于数据库他这样说……
  9. 【华为云技术分享】小白学YOLO:一文带你学YOLOv1 Testing
  10. 【Python3网络爬虫开发实战】1.5.3-redis-py的安装