使用cocoscreatorv2.2.2实现流体效果!图文+视频讲解!效果预览实现原理的整体思路参考了论坛的一个帖子。这个游戏中水的附着效果可以很容易的通过Construct3中的层来实现,即每个水滴上挂着两个圆形的图片素材,其中一个是水滴。原来是蓝色,另一种是另一种颜色,材料的边缘是半透明的。当几个水滴相互靠近时,半透明材料的边缘重叠,原来半透明边缘的透明度变低。通过在当前层使用Shader并设置Alpha阈值——小于Alpha阈值的部分被视为全透明,大于Alpha阈值的部分被视为不透明——这样,单个孤立的水滴,它的半透明边缘都被处理成全透明来代表一个孤立的水滴,而几个水滴挤在一起的重叠边缘会被处理成不透明,从而形成水滴粘在一起的效果,代表收集到的水滴水滴和模拟水的流动。紧张。由于CocosCreator在Construct3中没有Layer的概念,无法对一个Layer中的所有图片素材使用一个Shader,所以上述方法不适用。那么问题来了——CocosCreator有没有其他方法可以实现上面的流水效果呢?以上段落为论坛原文。顺着思路,这里特意准备一张图。此图像的alpha(不透明度)从内到外逐渐减小。当两个图像靠近时,重叠区域变得不那么透明。小于alpha阈值的部分被视为完全透明,大于alpha阈值的部分被视为不透明。这样就可以达到水滴连接的效果。cocoscreator中已经内置了ALPHA_TEST函数。所以我们只需要添加一个不透明的处理。着色器的主要代码如下:ALPHA_TEST(o);o.a=1.0;现在我们需要让这些水滴在同一层上使用这个着色器。怎么做?我们需要添加一个新的相机,让这个相机拍摄水滴节点,然后将拍摄到的图片放到一个sprite节点中,然后在sprite节点上做shader处理。将相机绑定到图片的代码如下:SpriteFrame();spriteFrame.setTexture(texture);this.camera_water.targetTexture=texture;this.sp_water_show.spriteFrame=spriteFrame;最后给水滴添加物理组件,在场景中布置一些物理节点,写几行水滴生成代码,就可以看到水滴下落的效果了。视频讲解学习思考、拆解需求、解决问题。以上就是白玉无冰使用CocosCreatorv2.2.2开发“流体效果”的技术分享。如果对您有帮助,请分享给您的朋友。
