当前位置: 首页 > web >正文

边缘光效果加流光效果

在这里插入图片描述

// Upgrade NOTE: replaced ‘_World2Object’ with ‘unity_WorldToObject’

Shader “Unlit/Scan_code”
{
Properties
{
_MainTex (“Texture”, 2D) = “white” {}
_RimMin(“RimMin”,Range(0,1)) = 0.0
_RimMax(“RimMax”,Range(0,1)) = 1.0
_RimColor(“RimColor”, Color) = (1,1,1,1)
_RimIntensity(“RimIntensity”, Range(0,1)) = 0.5
_InnerColor(“InnerColor”, Color) = (0,0,0,1)
_FlowTilling(“Flow Tilling”,Vector) = (1,1,0,0)
_FlowSpeed(“Flow Speed”, Vector) = (1,1,0,0)
_FlowTex(“Flow Texture”, 2D) = “white” {}
_FlowIntensity(“Flow Intensity”, Range(0,1)) = 0.5
_InnerAlpha(“Inner Alpha”, Range(0,1)) = 0.0
}
SubShader
{
Tags { “RenderType”=“Transparent” }
LOD 100

    Pass{ZWrite OffBlend SrcAlpha OneCGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 texcoord : TEXCOORD0;float3 normal : NORMAL;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;float3 pos_world : TEXCOORD1;float3 normal_world : TEXCOORD2;float3 pivot_world : TEXCOORD3;};sampler2D _MainTex;float4 _MainTex_ST;float _RimMin;float _RimMax;half4 _RimColor;half _RimIntensity;half4 _InnerColor;float4 _FlowTilling;float4 _FlowSpeed;sampler2D _FlowTex;float _FlowIntensity;float _InnerAlpha;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);//计算世界空间下的顶点法线float3 normal_world = mul(float4(v.normal,0.0),unity_WorldToObject).xyz;o.normal_world = normal_world;//输出世界空间下的顶点坐标float3 pos_world = mul(unity_ObjectToWorld,v.vertex).xyz;o.pos_world = pos_world;o.pivot_world = mul(unity_ObjectToWorld,float4(0,0,0,1)).xyz; return o;}fixed4 frag (v2f i) : SV_Target{                fixed4 col = tex2D(_MainTex, i.uv);//片元shader里的世界法线half3 normal_world = normalize(i.normal_world);//世界里的视线方向half3 viewDir = normalize(_WorldSpaceCameraPos.xyz - i.pos_world); //相机坐标减去顶点坐标half NdotV = saturate(dot(normal_world,viewDir));//法线与视线的点积 规范到0-1内half fresnel = 1-NdotV;//0-1half fresnel_ssLimit = smoothstep(_RimMin,_RimMax,fresnel);half emiss = tex2D(_MainTex, i.uv).r;                              emiss = pow(emiss,2);half final_fresnel = saturate( fresnel_ssLimit + emiss);half3 rim_color = lerp(_InnerColor,_RimColor* _RimIntensity,final_fresnel); //边缘光//流光half2 uv_flow = (i.pos_world.xy - i.pivot_world.xy)*_FlowTilling.xy;uv_flow = _Time.y * _FlowSpeed.xy + uv_flow;float4 flow_rgba = tex2D(_FlowTex, uv_flow)*_FlowIntensity;float3 final_col = rim_color+ flow_rgba.rgb;float final_alpha = saturate(final_fresnel + flow_rgba.a+ _InnerAlpha);return fixed4(final_col,final_alpha);}ENDCG}
}

}

http://www.xdnf.cn/news/17908.html

相关文章:

  • 在启智平台使用A100对文心开源大模型Ernie4.5 0.3B微调(失败)
  • iOS混淆工具有哪些?游戏 App 防护下的混淆与加固全攻略
  • 应用银行卡识别技术,构建更安全、便捷的数字身份认证与支付生态
  • Linux下使用Samba 客户端访问 Samba 服务器的配置(Ubuntu Debian)
  • 分享一个基于Hadoop+spark的超市销售数据分析与可视化系统,超市顾客消费行为分析系统的设计与实现
  • 蓝桥杯STL stack
  • 【百度拥抱开源】百度开源文心一言视觉大模型—— ERNIE-4.5-VL
  • 《算法导论》第 24 章 - 单源最短路径
  • C# 贪吃蛇游戏
  • 审批流程系统设计与实现:状态驱动、灵活扩展的企业级解决方案
  • 调整磁盘分区格式为GPT
  • PyCharm性能优化与大型项目管理指南
  • 在CentOS系统中怎么查看Apache日志文件
  • Nginx学习笔记(八)—— Nginx缓存集成
  • ADB服务端调试
  • 机器学习学习报告
  • 考研408《计算机组成原理》复习笔记,第四章(2)——指令寻址和数据寻址
  • 飞算JavaAI:革新Java开发体验的智能助手
  • 19. 什么是 TypedArray
  • buildroot 简单介绍
  • LeetCode Day5 -- 二叉树
  • 【LeetCode】6. Z 字形变换
  • 【R语言】RStudio 中的 Source on Save、Run、Source 辨析
  • 热门手机机型重启速度对比
  • Vue项目生产环境性能优化实战指南
  • 相机按键功能解析
  • python学习DAY40打卡
  • Easysearch 数据迁移之 INFINI Gateway
  • 天文与航天领域专业计算库介绍
  • Java 大视界 -- Java 大数据机器学习模型在金融资产配置优化与风险收益平衡中的应用(395)