美文网首页
流光与溶解

流光与溶解

作者: 星易乾川 | 来源:发表于2018-08-01 19:13 被阅读0次

流光效果
第一种 UV偏移,缺点是需要依据max中展UV的结果,要想统一,需要二套UV,跟采样的流光贴图方向有关系
优点是依据UV的话,可通过调整UV实现可快可慢的局部效果

i.uv + half2(_SpeedX, _SpeedY) * _Time.y;

第二种是通过偏移世界空间顶点,作为流光图的UV采样,优点是不受模型影响

uv = i.worldPos.xy * _Factor.zw + _Factor.xy * _Time.y;
        fixed4 flash = tex2D(_UVTex, uv) * _UVColor * _UVTexStrength;

从一个方向溶解效果
第一种模型空间点作为clip依据,也可用屏幕空间,世界空间来做 ,得到不同结果

clip(i.objPos.xyz - _DissolveVector.xyz);

第二种溶解边缘线发光

//沿模型空间顶点裁剪
float factor = i.objPos.x - _DissolveThreshold;
        clip(factor); 
//差值分离出一块区域
fixed lerpFactor = saturate(sign(_ColorFactor - factor));
        return lerpFactor * _DissolveColor + (1 - lerpFactor) * fixed4(color, 1);

第三种在溶解基础上用噪声图产生随机效果

fixed4 dissolve = tex2D(_DissolveMap, i.uv);
float factor = i.objPos.x - _DissolveControl;
        if(factor < 0)
        {
            clip(_DissolveThreshold - dissolve.r * abs(factor) * _DissolveSpeedFactor);
        }
return fixed4(color, 1);

随机溶解效果:
if版本

//采样Dissolve Map
        fixed4 dissolveValue = tex2D(_DissolveMap, i.uv);
        //小于阈值的部分直接discard
        if (dissolveValue.r < _DissolveThreshold)
        {
            discard;
        }   
        //这里为了比较方便,直接用color和最终的边缘lerp了
        float lerpValue = _DissolveThreshold / dissolveValue.r;
        if (lerpValue > _ColorFactorA)
        {
            if (lerpValue > _ColorFactorB)
                return _DissolveColorB;
            return _DissolveColorA;
        }

优化版本


        float percentage = _DissolveThreshold / dissolveValue.r;
        //如果当前百分比 - 颜色权重 - 边缘颜色
        float lerpEdge = sign(percentage - _ColorFactor - _DissolveEdge);
        //貌似sign返回的值还得saturate一下,否则是一个很奇怪的值
        fixed3 edgeColor = lerp(_DissolveEdgeColor.rgb, _DissolveColor.rgb, saturate(lerpEdge));
        //最终输出颜色的lerp值
        float lerpOut = sign(percentage - _ColorFactor);
        //最终颜色在原颜色和上一步计算的颜色之间差值(其实经过saturate(sign(..))的lerpOut应该只能是0或1)
        fixed3 colorOut = lerp(color, edgeColor, saturate(lerpOut));

相关文章

  • 流光与溶解

    流光效果第一种 UV偏移,缺点是需要依据max中展UV的结果,要想统一,需要二套UV,跟采样的流光贴图方向有关系优...

  • 2019-11-29

    物质溶解的量主要是研究物质溶解的多少?物质溶解的多少有什么区别呢? 物质饱和与不饱和? 饱和溶液:当物质溶解的量多...

  • 奶粉溶解性差,就要换奶粉?

    奶粉溶解性不好,就要换奶粉?#奶粉# #溶解# 错误做法! 奶粉溶解性不仅与水温相关,还与奶粉原料、营养配方、奶粉...

  • Unity Shader-纹理采样流光,溶解,隐身效果(转)

    简介 今天来研究几个效果,最近比较忙,所以来弄几个比较简单的效果玩一下。不过也是游戏中常用的一些效果,流光效果,按...

  • 孕期如何饮水,才能使胎儿更加健康!

    质量好水能溶解与携带各种人体必需的物质,使身体健康、机能旺盛;而质量差的水却溶解与携带了许多对人体有毒、有害的物质...

  • PS画笔模式

    正常:无变化;溶解:画笔边缘像素进行溶解/柔化处理;背后:须在新建图层下使用,重叠部分躲在上一次操作之下;清除:与...

  • 青苔与流光

    偶尔会遐想你年少的时光, 在操场上, 是否雀跃的身姿如鹿, 却悄然划过某人的心湖。 如今的你, 眼睛如河里的石子,...

  • 流光与流年

    人间五月天,浅夏正清和。 看过春花灿烂,经过草长莺飞,欣喜此刻的碧草芳树,绿意盎然,芳香四溢。 光阴荏苒,日常亦无...

  • 初中化学 基础过关20 溶解度与溶解度曲线

    复习目标: 1.了解溶解度的含义,学会依据给定的数据绘制溶解度曲线,能利用溶解性表或溶解度曲线查阅有关物质的溶解性...

  • 远山

    远山      溯与流光 作     ...

网友评论

      本文标题:流光与溶解

      本文链接:https://www.haomeiwen.com/subject/fxblvftx.html