Unity Shader
来源:互联网 发布:mac安装什么虚拟机 编辑:程序博客网 时间:2024/04/28 20:55
主要使用噪声和透明度测试,从噪声图中读取某个通道的值,然后使用该值进行透明度测试。
主要代码如下:
fixed cutout = tex2D(_NoiseTex, i.uvNoiseTex).r;clip(cutout - _Threshold);
完整代码点这里
边缘颜色
如果纯粹这样镂空,则效果太朴素了,因此通常要在镂空边缘上弄点颜色来模拟火化、融化等效果。
1. 纯颜色
第一种实现很简单,首先定义_EdgeLength和_EdgeColor两个属性来决定边缘多长范围要显示边缘颜色;然后在代码中找到合适的范围来显示边缘颜色。
主要代码如下:
//Properties_EdgeLength("Edge Length", Range(0.0, 0.2)) = 0.1_EdgeColor("Border Color", Color) = (1,1,1,1)...//Fragmentif(cutout - _Threshold < _EdgeLength) return _EdgeColor;
完整代码点这里
2. 两种颜色混合
第一种纯颜色的效果并不太好,更好的效果是混合两种颜色,来实现一种更加自然的过渡效果。
主要代码如下:
if(cutout - _Threshold < _EdgeLength){ float degree = (cutout - _Threshold) / _EdgeLength; return lerp(_EdgeFirstColor, _EdgeSecondColor, degree);}
完整代码点这里
3. 边缘颜色混合物体颜色
为了让过渡更加自然,我们可以进一步混合边缘颜色和物体原本的颜色。
主要代码如下:
float degree = saturate((cutout - _Threshold) / _EdgeLength); //需要保证在[0,1]以免后面插值时颜色过亮fixed4 edgeColor = lerp(_EdgeFirstColor, _EdgeSecondColor, degree);fixed4 col = tex2D(_MainTex, i.uvMainTex);fixed4 finalColor = lerp(edgeColor, col, degree);return fixed4(finalColor.rgb, 1);
完整代码点这里
4. 使用渐变纹理
为了让边缘颜色更加丰富,我们可以进而使用渐变纹理:
然后我们就可以利用degree来对这条渐变纹理采样作为我们的边缘颜色:
float degree = saturate((cutout - _Threshold) / _EdgeLength);fixed4 edgeColor = tex2D(_RampTex, float2(degree, degree));fixed4 col = tex2D(_MainTex, i.uvMainTex);fixed4 finalColor = lerp(edgeColor, col, degree);return fixed4(finalColor.rgb, 1);
完整代码点这里
阅读全文
0 0
- unity shader
- Unity Shader
- Unity-Shader
- unity shader
- Unity Shader
- Unity Shader
- Unity Shader
- unity shader
- Unity描边[Unity Shader]
- Shader以及Unity中的Shader
- Unity Shader 二 发光Shader
- Unity Shader简单Shader一
- Unity Shader简单Shader二
- Unity Shader修改Shader属性
- Unity Shader--fixed function shader
- [Unity Shader] Fixed Function Shader
- Unity Shader 之Geometry Shader
- Unity Shader: Shader粒子广告牌
- 蓝桥杯--小明和他的表弟
- 记忆网络(译)
- 判断数组
- Java Timer类
- 野生码农的架构实践
- Unity Shader
- Spring装配Bean之组件扫描和自动装配
- QT QHostAddress类
- 无限大地图:lightmap拆分
- day74_oracle04_笔记
- 彻底了解构建 JSON 字符串的三种方式
- 主线程等待子线程执行结束后再执行的实现方式
- 前端 CDNJS 库及 Google Fonts、Ajax 和 Gravatar 国内加速服务
- 表单 增删改查