Shader每日一练(2)护盾

Shader "Custom/Shield"
{Properties{_Size("Size", Range(0 , 10)) = 1 // 控制噪声纹理缩放大小的参数_colorPow("colorPow", Float) = 1 // 控制颜色强度的指数_colorMul("colorMul", Float) = 1 // 控制颜色乘法因子_mainColor("mainColor", Color) = (1,1,1,0) // 主颜色_Noise1Tex("Noise1Tex", 2D) = "white" {} // 噪声纹理_dir1("dir1", Vector) = (0,0,0,0) // 流动方向1_dir2("dir2", Vector) = (1,1,0,0) // 流动方向2_alphaSpeed("alphaSpeed", Float) = 1 // 控制透明度变化速度的参数_colorAdd("colorAdd", Float) = 1 // 控制颜色添加因子_flowSpeed("flowSpeed", Float) = 1 // 控制流动速度的参数_flowStrength("flowStrength", Vector) = (1,1,0,0) // 控制流动强度的参数}SubShader{Tags { "RenderType"="Opaque" }Blend SrcAlpha OneMinusSrcAlpha, SrcAlpha OneMinusSrcAlpha // 混合模式:源颜色的 alpha 与目标颜色的反 alpha 进行混合ZWrite Off // 关闭深度写入LOD 100 // 设置 LOD 等级Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag    #include "UnityCG.cginc"struct appdata{float4 vertex : POSITION; // 顶点位置float2 uv : TEXCOORD0; // 纹理坐标};struct v2f{float2 uv : TEXCOORD0; // 传递给片段着色器的纹理坐标float4 vertex : SV_POSITION; // 传递给片段着色器的裁剪空间顶点位置};// Uniform 变量uniform float4 _mainColor;uniform sampler2D _Noise1Tex;uniform float4 _Noise1Tex_ST;uniform float _Size;uniform float3 _dir1;uniform float2 _flowStrength;uniform float _flowSpeed;    uniform float _colorMul;uniform float _colorPow;uniform float3 _dir2;uniform float _colorAdd;uniform float _alphaSpeed;// Flow 函数:生成流动效果float3 Flow(sampler2D tex, float2 uv, float2 dir, float2 strength, float speed){float2 dirx = dir + 0.5f; // 调整方向float timeSpeed = _Time.y * speed; // 根据时间和速度计算流动的时间因子float2 uv1 = uv + (dirx * strength * frac(timeSpeed)); // 计算第一组纹理坐标float2 uv2 = uv + (dirx * strength * (frac(timeSpeed + 0.5f))); // 计算第二组纹理坐标float3 result = lerp(UnpackNormal(tex2D(tex, uv1)), UnpackNormal(tex2D(tex, uv2)), (abs((frac(timeSpeed) - 0.5)) / 0.5)); // 线性插值计算最终的流动效果return result;}v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex); // 转换顶点位置到裁剪空间o.uv = TRANSFORM_TEX(v.uv, _Noise1Tex) / +_Size; // 计算纹理坐标并进行缩放return o;}half4 frag (v2f i) : SV_Target{float3 col1 = Flow(_Noise1Tex, i.uv, _dir1, _flowStrength, _flowSpeed); // 计算第一个流动效果float3 col2 = Flow(_Noise1Tex, i.uv, _dir2, _flowStrength, _flowSpeed); // 计算第二个流动效果float val1 = 1.0 - saturate(pow(col1.r * _colorMul, _colorPow)); // 根据流动颜色计算第一个颜色值float val2 = 1.0 - saturate(pow(col2.r * _colorMul, _colorPow)); // 根据流动颜色计算第二个颜色值float4 noiseCol = tex2D(_Noise1Tex, float2(frac(_Time.y * _alphaSpeed), 0)); // 采样噪声纹理计算透明度float alpha = val1 * val2 * noiseCol.r * noiseCol.r; // 计算最终透明度float3 rgb = _mainColor.rgb * val1 * val2 * _colorAdd; // 计算最终颜色return half4(rgb, alpha); // 返回颜色和透明度}ENDCG}}
}

效果:

简化版:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多旋翼+VR眼镜:10寸FPV穿越机技术详解

FPV(First Person View)穿越机,是指通过第一人称视角来驾驶的无人机,特别强调速度和灵活性,常常用于竞赛、航拍和探索等领域。结合多旋翼设计和VR眼镜,FPV穿越机为用户提供了身临其境的飞行体验。 多旋翼技…

企业网站被攻击的常见方式是什么,该如何去做防护

随着互联网的普及和人们对网络使用的增加,网站安全问题变得越来越突出。无论是个人还是企业,都需要了解并采取措施来保护自己的网站和用户数据的安全。本文介绍常见的网站安全攻击方式、潜在危害及其预防措施,帮助全面了解网站安全的各个方面…

Vue的常见指令

目录 1.v-bind 2. class绑定 3.style绑定 4.v-if/v-show 1.v-bind v-bind指令用于绑定属性 可以简写成 “ &#xff1a;” 它的作用就是我们可以动态的定义属性的值&#xff0c;比如常见的<img src "1.jpg"> 我们如果想要修改图片就需要获取到DOM对象&am…

蓝卓创始人褚健:工业互联网平台技术赋能中小企业数字化转型的实施路径

工业4.0是由工业软件驱动的工业革命&#xff0c;与传统厚重的工业软件不同&#xff0c;supOS就好比嵌入工厂的“安卓系统”。如果把一个工厂当作一台手机&#xff0c;因为有安卓或苹果开放的操作系统&#xff0c;吸引了全世界聪明的人开发了大量APP供人们使用&#xff0c;手机才…

Backend - visual studio 安装配置运行

目录 一、安装 &#xff08;一&#xff09;visual studio的内存需求很大&#xff01; &#xff08;二&#xff09;自定义工具和SDK的安装位置 1. 菜单栏搜索regedit&#xff0c;进入注册表编辑器 2. 修改SharedInstallationPath项的路径 3. 重启电脑 4. 重新打开visual studio …

物联网系统中市电电量计量方案(二)

上文我们主要介绍了电量计量中最重要的组成部分——电量计量芯片&#xff08;如果没有阅读该文章的&#xff0c;可以点击这里&#xff09;。本文会再为大家介绍电量计量的另外一个组成部分——电流互感器。 电流互感器的定义 电流互感器是一种可将一次侧大电流转换为二次侧小电…

智慧校园科研管理:论文管理提升学术影响力

在智慧校园科研管理平台中&#xff0c;论文信息管理模块扮演着连接学术创新与管理效率的桥梁角色&#xff0c;它精心设计了一系列功能&#xff0c;旨在促进学术成果的高效记录、跟踪、分享与评估&#xff0c;为科研工作者、管理人员及全体师生构建了一个协同合作的学术生态环境…

蓝卓创始人褚健:未来工厂需要一个“工业安卓”

作为国内自动控制的科学家&#xff0c;过去近三十年的时间&#xff0c;褚健教授一直服务于化工行业、炼油石化等流程工业领域。褚健表示&#xff0c;因为涉及到安全生产和环保要求&#xff0c;流程工业企业的自动化水平高一些&#xff0c;但总体来看&#xff0c;目前中国大部分…

原生小程序生成二维码并保存到本地

需求&#xff1a;我要在一个页面中生成一个二维码&#xff0c;并且这个二维码可以长按保存到本地或者发送给好友&#xff1b; 我这里是将生成的canvas二维码转换成图片&#xff0c;利用长按图片进行保存或转发 效果图&#xff1a; 第一步先下载对应的包&#xff1a; npm instal…

防火墙综合实验1

实验拓扑图&#xff1a; 实验需求&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网。 3、办公区设备10.0.2.10不允许访问…

rancher管理多个集群

一、rancher部署 单独部署到一台机器上&#xff0c;及独立于k8s集群之外&#xff1a; 删除所有yum源&#xff0c;重新建yum源&#xff1a; # 建centos7.9的yum源 # cat CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the …

Java面向对象进阶篇综合训练(附带全套源代码及逐语句分析)->基于javabeen

一、前言 面向对象这一块也要结束了&#xff0c;不知道读者们掌握的如何呢。不过面向对象的路程远不止于此&#xff0c;可以利用面向对象来做一些小型的系统来巩固一下。接下来就进入新的章节了&#xff0c;回顾一下这已经是第五天了&#xff0c;之前说的7天拿下java还是太过于…

LLaMA-Factory:开源的低代码大模型训练框架

LLaMA-Factory 是一个由零隙智能&#xff08;SeamLessAI&#xff09;开源的低代码大模型训练框架&#xff0c;它集成了业界最广泛使用的微调方法和优化技术&#xff0c;并支持众多开源模型的微调和二次训练。 一、功能特点 支持多种开源模型&#xff1a;LLaMA-Factory支持包括…

辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting

辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting 1. Instant-NGP1. MultiResolution Hash Encoding1.2 Accelerated Ray Marching1.3 实验结果 2. Mip-NeRF 3602.1 场景参数化2.2 在线蒸馏2.3 失真正则化2.4 实验结果 3. 3D Gaussian Splatting3.1 Dif…

krpano开启日志公能

<krpano version"1.21" title"博物馆" debugmode"true" > 之后鼠标右键菜单栏最后一行 点击&#xff08;开启后会发生变化&#xff09;。

汽车预约维修小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;技师管理&#xff0c;技师信息管理&#xff0c;用户预约管理&#xff0c;取消预约管理&#xff0c;订单信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;技师信息&a…

新开发的软件老被系统拦截有什么办法解决吗?

一套新开发的软件要想在windows操作系统畅通无阻&#xff0c;那就需要使用代码签名证书&#xff0c;只要是对软件进行实名从而证明软件发布者身份&#xff0c;确保该软件是一个合法有效的主体开发的&#xff0c;也是让这个软件开发者承担相应的责任。 特别主要如果要获得即时性…

【深度学习入门篇 ③】PyTorch的数据加载

【&#x1f34a; 易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a; 】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创…

【漏洞复现】宏景HCM-LoadOtherTreeServlet SQL注入

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 宏景HCM人力资源信息管理系统是一个全面的人力资源管理软件&#xff0c;它覆盖了人力资源管理的各个模块…

华为官方出品:《应用现代化实践指南》电子书,可免费下载

本期云享书库为各位开发者带来了应用现代化方面的技术内容。 在数字化时代&#xff0c;企业面临着前所未有的机遇与挑战。随着技术的飞速发展&#xff0c;特别是云计算、大数据、人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;的兴起&#xff0c;正…