Camera输出到RenderTexture效果异常 疑似引擎BUG!?

流体模拟的过程中发现了一些问题(Camera输出到RenderTexture渲染结果异常),疑似引擎BUG。Creator 版本:v2.0.2    出现概率:100% @panda @jare

(1)、使用Blend来模拟Metaballs,如下图(正常):

(2)、使用Camera将(1)的结果输出到RenderTexture(异常)

demo地址:https://github.com/liuwenkai1023/ccc-fluid-demo

3赞

牛逼阿,这种流体怎么做的

@panda @jare @BigBear 能帮忙确认一下吗?

加上这句,
或者找到这个sprite,在它的属性检查器上设置一下也行。

1赞

真 大佬!!!!
流体效果

老哥,我们能交流一下如何用shader写这个流体效果么,我看了你的这个shader效率也不高…

mark

大哥这个demo 没看明白啊 shader那个 运行没效果呢

这样也不对,这样的话颜色会被背景的颜色叠加(只是背景是黑色的时候看不出来而已)…

正是因为这个shader对低端机的不友好(在红米老机子上只有10+fps),才想到使用混合来模拟场强的叠加。使用混合之后红米上能维持30+fps,对于14年的老机子来说应该还算不错了(毕竟还有个物理系统在运行)。

之前在iphone6的浏览器上好像没有出效果,不过在Android和电脑的浏览器上这个shader都是可以看到效果的。

我这个demo期望的是通过混合模拟出和shader一样的效果(即3应和1的效果一致),结果…

图1:使用shader的效果
图2:混合后通过camera输出到RenderTexture的效果
图3:没有加背景图片的图2的效果

@337031709

算了,我还是退而求其次吧。(改了一下用透明度表示场强的资源图片,效果比shader和blend差一点,已提交到git)

我有个想法,每一帧 将所有的球渲染到 一张纹理上去,然后再对这个纹理精灵进行shader处理,这样子对于里面混合计算就不用在shader里面了,对于shader本身的效率就会提高很多,唯一需要担心的就是每帧将球渲染到纹理上需要花的时间。

另外我现在做的处理是,用cc.graphic+metaball算法 做渲染,效率大概在100个球,低端机30帧左右吧

而且我实验过,你这张球的纹理图,也会影响运行效率。。。好像是太大了

可能你认为的低端机和我说的低端机(咸鱼上五六十元还包邮那种)它们是不在同一个层次的。红米1只创建几十个刚体(不做任何处理,只有物理刚体球,没有shader,没有sprite)都只有30帧左右,还100个刚体球…:joy:

你那机型也太低端了,考虑那些实在没必要,另外我用的物理粒子,liquidfun 流体拓展库,所以在物理方面性能比创建普通的刚体球好些,在锤子坚果上(千元机水平),不考虑渲染,200+物理粒子是很流畅的

搞一篇教程呀 liquidfun 咋引入

把工程从v2.0.2迁移到v2.0.10出现问题(疑似引擎bug)
1、第一次进入"RenderTexture"场景(正常),重新进入后出现异常
2、进入“Shader”场景后,shader一直无效果

升级后,Camera输出到targetTexture,利用targetTexture创建spriteFrame赋给sprite后,再对sprite进行shader出现问题。
@panda @jare 能看看问题出在哪里吗?

demo地址不变:https://github.com/liuwenkai1023/ccc-fluid-demo

shader里内容很简单,按理说不应该出现问题。

v2.0.10异常表现如下: