打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
cocos2d-x,玻璃破碎效果
----更新2014-6-20  8:42
把脱落重新实现了,使用了新的算法来计算脱落顺序,比以前要自然得多。另外脱落动作做成了CCAction,更符合cocos2dx的风格一些。
截图:










----更新2014-6-20
重做了裂痕:


----更新2014-6-19
由于打算开源特效集合,所以把以前的一些东西要重新整理一遍。今天整理到这个效果,发现以前的实现方法太慢了。
于是换一种算法重新写。
已实现出剖分,速度很快,也是点击处密集四周稀疏的。效果如下:

下图是debug的时候无意画出来的,没实际用处,感觉有点意思:


----更新2013-12-1
这个东西拖了好久,一直有别的事腾不出时间,今天终于搞完了。
前面实现了三角剖分和随机点生成。不过后来发现用前面那种方法生成出来的随机点对于玻璃破碎来说效果并不好,虽然那个方法能生成“中间密集,越远越稀疏“随机点,但随机性太强了,使得剖分出来的三角形啥样都有,尤其是存在一些非常尖细的三角形,效果看起来很不好。而且后来试了一下,通过合并等方法消除它们非常麻烦甚至不可行。
于是换了个策略:不生成随机点了,生成规则的点,然后再进行适当扰动使它们产生一些“不规则”感。
尝试了两种方法:
1,最简单的是按行列规则地生成点,然后进行扰动。生成出来的效果还可以,只是不过各处的破碎程度整体上是均匀的,体现不出受力中心。
2,在1的基础上进行改进,考虑如何让越接近触摸处点越密集,于是想到了四叉树(用四叉树实现3d地形的时候就是越接近视点顶点越密集,越远越稀疏)。于是,先以触摸点为中心生成四叉树,然后将四叉树叶子节点的顶点收集起来(重复的点进行合并),然后再对各顶点进行扰动,扰动时要注意此顶点当初是哪几个叶子节点的公共顶点,比如此顶点v是叶子节点leafA,leafB,leafC,leafD的公共顶点,设leafMin是这四个节点中尺寸最小的节点,e为leafMin的边长,则顶点v的扰动量不能大于e/2,这样就可以保证扰动后各点都不会突破自己的“晶格“。实际我取的是e/4。
另外有几个注意事项:
1,在visit中用glScissor做剪裁,使用的rect必须是设备空间(iphone 3.5-inch,iphone 4-inch等等)的rect(而不要用局部空间或世界空间的rect)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
科普一下西塔潘猜想
四叉树与八叉树
四叉树空间索引原理及其实现
数据结构_树_图_总结
[转载]cocos2d
Cocos Creator:AR 交互
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服