3.8.0及以上,玉兔麒麟子的边缘光shader有问题,低于3.8.0版本没问题

老铁,有复现发现问题吗?求解

image 试了一下符合预期,我把fRim 取平方

没有取平方有出现那个问题吗?炸白的问题

不对呀,我取平方一样炸白图片

也没有你说的问题,你换个边缘光颜色看看

换了呀,我让我朋友也试过了,一样炸色,奇怪,你们都不会,不能够呀,我朋友是win的电脑,我的是mac,都一样,图片 只要在update里头加上位置更新,就变成这个炸色,没有位置更新就是正常

老铁,你发了啥?没看到~

你这shader就有问题啊!你的法线和摄像机的视线都不对,也不能说不对只是空间不统一法线用的视图空间下的法线确不是,而且还是直接写死了0,0,1.0这肯定不对啊啥呀这都是!我改了一下
vec3 viewDir = normalize(cc_cameraPos.xyz - v_position);

// float fRim = (1.0 - dot(normalize(v_view_normal),vec3(0,0,1.0))) * rimColor.w;
float fRim = (1.0 - abs(dot(normalize(v_normal),viewDir)));
fRim = pow(fRim, rimPow);

color.rgb = mix(color.rgb,rimColor.rgb,fRim);

老铁你这个改的结果一样的呀,我用你的代码一样的炸色问题,我觉得不是脚本的问题,3.8以下都没问题,边缘光都正常,update里头更新位置也正常,但是3.8及以上,只要update里头更新位置,就会炸色

不会把我这里是好的,我用的3.8.1image 向右移动没问题啊

老铁你有运行吗起来吗,模型上看是没有问题的,只有运行起来,然后update里头更新位置,并且是3.8以上版本,才会有炸白的问题出现

你用我改好的shader替换看看,我用了你的确实有你说的问题,改了以后就正常了

不能把,你是我的那个项目,运行起来的?我朋友和我的电脑运行起来都是炸色,留个微信?我给你颜色,这个问题困扰了我很久,真的好想解决 :joy:

rimPow

你的这个是什么?没有这个变量,除了这个其他的我按照你的改了

肯定是啊,就是你发的demo

图片 除了红色方框的这没有,其他的按照你的改了,rimPow应该是你那边定义的参数,那你把这块定义也发我,我改下

不用你写死把rimpow改成2.0好了,正常了把?

可以老铁,666,方便加微信吗,和大佬学习,
想知道为什么3.8以下就显示没有问题,3.8以上就不行了?

兄弟源码还有吗?我想用下