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

企业网站制作比较好的淄博三合一网站开发

企业网站制作比较好的,淄博三合一网站开发,想学做网站,做网站的相关教程消融效果 消融广泛运用于各种场合#xff0c;例如 怪物击杀与道具时区#xff08;原神#xff09;燃烧 注意#xff1a;根据噪声图的不同#xff0c;效果有很大的差异#xff0c; 第一步#xff1a;创建着色器 我们要选择Unlit Shader创建 然后定义如下属性 Prop… 消融效果 消融广泛运用于各种场合例如 怪物击杀与道具时区原神燃烧 注意根据噪声图的不同效果有很大的差异 第一步创建着色器 我们要选择Unlit Shader创建 然后定义如下属性 Properties{//主贴图_MainTex (Texture, 2D) white {}//噪声图_NoiseMap (NoiseMap, 2D) white {}//第一种颜色_Color_First (DissolveColorFirst, Color) (1, 0, 0, 1)//第二种颜色_Color_Second (DissolveColorSecond, Color) (1, 0, 0, 1)//过渡宽度_Width (LineWidth, Range(0,1)) 0//消融程度_Value (Amount, Range(0,1)) 0//反射光颜色_Diffuse(Diffuse, Color) (1, 1, 1, 1)}这里注意请加上这个不然单面渲染使得模型内部裸露 Cull Off 第二步传入法线 只有这样我们才能计算漫反射 //修改默认的结构体struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;//添加Normal的传递float3 normal: NORMAL;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;//自定义的法线信息float3 worldNormal : TEXCOORD1; // 添加了 worldNormal 属性};// 将 变量 声明在全局范围sampler2D _MainTex;float4 _MainTex_ST;sampler2D _NoiseMap;float _Value ;float _Width ;float4 _Color_First;float4 _Color_Second;fixed4 _Diffuse;//要从顶点着色器开始就传入法线v2f vert(appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);//这句是自己写的将法线信息传递下去o.worldNormal normalize(UnityObjectToWorldNormal(v.normal));UNITY_TRANSFER_FOG(o, o.vertex);return o;}第三步裁剪像素和计算漫反射 这一步的作用是先算出光线的效果然后跟消融后的效果混合而不是仅仅有消融的效果 fixed4 frag(v2f i) : SV_Target{//计算灰度值float gray dot(tex2D(_NoiseMap, i.uv).rgb, float3(0.299, 0.587, 0.114));//剔除完全消融像素clip(gray - _Value);//获取环境光的属性并标准化fixed3 ambient UNITY_LIGHTMODEL_AMBIENT.xyz;//标准化世界坐标下光源的光照方向fixed3 worldLightDir normalize(_WorldSpaceLightPos0.xyz);//计算漫反射光照fixed3 diffuse _LightColor0.rgb * _Diffuse.rgb * saturate(dot(i.worldNormal, worldLightDir));//计算点是否在过渡区域以及混合系数fixed t 1 - smoothstep(0.0, _Width, gray - _Value);//根据混合系数计算消融颜色fixed3 dissolveColor lerp(_Color_First, _Color_Second, t);dissolveColor pow(dissolveColor, 5);fixed3 origin tex2D(_MainTex,i.uv);// 最终颜色 (源色环境光 漫反射光照 ) 和消融色的插值fixed3 finalColor lerp(origin ambient diffuse,dissolveColor,t *step(0.0001, _Value));// 应用雾效UNITY_APPLY_FOG(i.fogCoord, finalColor);return fixed4(finalColor, 1.0);}完整着色器代码 Shader Custom/Dissolve {Properties{_MainTex (Texture, 2D) white {}_NoiseMap (NoiseMap, 2D) white {}_Color_First (DissolveColorFirst, Color) (1, 0, 0, 1)_Color_Second (DissolveColorSecond, Color) (1, 0, 0, 1)_Width (LineWidth, Range(0,1)) 0_Value (Amount, Range(0,1)) 0_Diffuse(Diffuse, Color) (1, 1, 1, 1)}SubShader{Tags { RenderTypeOpaque LightModeForwardBase }LOD 100Pass{Tags {LightMode ForwardBase}//内部裸露要开启双面渲染Cull OffCGPROGRAM#pragma vertex vert#pragma fragment frag// 让雾效生效#pragma multi_compile_fog#include UnityCG.cginc#include Lighting.cgincstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;//添加Normal的传递float3 normal: NORMAL;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;//自定义的法线信息float3 worldNormal : TEXCOORD1; // 添加了 worldNormal 属性};sampler2D _MainTex;float4 _MainTex_ST;sampler2D _NoiseMap;// 将 _Value 声明在全局范围float _Value ;float _Width ;float4 _Color_First;float4 _Color_Second;fixed4 _Diffuse;v2f vert(appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);o.worldNormal normalize(UnityObjectToWorldNormal(v.normal));UNITY_TRANSFER_FOG(o, o.vertex);return o;}fixed4 frag(v2f i) : SV_Target{//计算灰度值float gray dot(tex2D(_NoiseMap, i.uv).rgb, float3(0.299, 0.587, 0.114));//剔除完全消融像素clip(gray - _Value);//获取环境光的属性并标准化fixed3 ambient UNITY_LIGHTMODEL_AMBIENT.xyz;//标准化世界坐标下光源的光照方向fixed3 worldLightDir normalize(_WorldSpaceLightPos0.xyz);//计算漫反射光照fixed3 diffuse _LightColor0.rgb * _Diffuse.rgb * saturate(dot(i.worldNormal, worldLightDir));//计算点是否在过渡区域以及混合系数fixed t 1 - smoothstep(0.0, _Width, gray - _Value);//根据混合系数计算消融颜色fixed3 dissolveColor lerp(_Color_First, _Color_Second, t);dissolveColor pow(dissolveColor, 5);fixed3 origin tex2D(_MainTex,i.uv);// 最终颜色 (环境光 漫反射光照 ) 和消融色的插值fixed3 finalColor lerp(origin ambient diffuse,dissolveColor,t *step(0.0001, _Value));// 应用雾效UNITY_APPLY_FOG(i.fogCoord, finalColor);return fixed4(finalColor, 1.0);}ENDCG}Pass {Tags { LightMode ShadowCaster }Name shadowCasterCGPROGRAM...struct v2f{//frag需要的shadowCaster信息包括位置、bias、depth等V2F_SHADOW_CASTER;//noise map的纹理坐标float2 uv0 : TEXCOORD0;};v2f vert(appdata_base v){v2f o;//完成//1.UnityClipSpaceShadowCasterPos根据模型空间pos和normal计算裁剪空间阴影位置与光照配置中的NormalBias有关unity_LightShadowBias.zNormalBias//2.UnityApplyLinearShadowBias增加裁剪空间中Z值。与光照参数中的Bias、UNITY_NEAR_CLIP_VALUE、UNITY_REVERSED_Z有关TRANSFER_SHADOW_CASTER_NORMALOFFSET(o)//根据缩放和偏移计算noise map纹理坐标o.uv0 TRANSFORM_TEX(v.texcoord, _NoiseMap);return o;}fixed4 frag(v2f i) : SV_Target{//采样noise,与阈值比较未通过不显示阴影fixed3 noise tex2D(_NoiseMap, i.uv0).rgb;clip(noise.r - _DissolveThreshold);//平行光、聚光灯情况下返回 0黑色//点光源情况下调用UnityEncodeCubeShadowDepth得到cubemap shadow值SHADOW_CASTER_FRAGMENT(i)}ENDCG } }}
http://www.zqtcl.cn/news/31991/

相关文章:

  • 中国做网站公司排名网站建设与推广王钊
  • 建设工程八大员考试网站互联网专属保险什么意思
  • 电子商务的建站流程wordpress后台加载慢
  • 网站建设方案是什么意思创意合肥网站建设
  • 镇江外贸网站建设创意产品设计作品图片
  • 中国企业网站设计案例软件技术专业升本可以升哪些专业
  • 怎么仿制网站wordpress 安装不了
  • 专业点的网站制作公司沈阳人流需要多少钱大概多少钱
  • 潍坊网站定制模板建站电脑版传奇网站
  • 怎样保存网站资料做证据wordpress portfolio 缩略图
  • 泉州app网站开发价格wordpress付费文章
  • 河北燕郊网站制作如何查询网站的主机
  • 常德网站建大连装修公司排名前十名
  • 深圳建设交易网站网站的关键词库怎么做的那么多
  • 3322做网站网站建设的多少钱
  • 深圳做英文网站的公司上海施工单位
  • 网站布局怎么设计泰安网站建设企业
  • 网站添加百度商桥如何在云服务器上搭建网站
  • 北京营销型网站建设公司山东诚信工程建设监理有限公司网站
  • 赣州网站设计哪里好外墙设计装修效果图软件
  • 网站开发盈亏平衡分析表如何从网站获取图片做全景图
  • 做营销最好的网站源码网站服务器错误怎么解决
  • 心悦俱乐部官方网站怎么做任务做网站不会框架
  • 有哪些专做自然风景图片的网站免费做二建题的网站
  • 黄岛网站建设南宁有名的网络公司
  • 东莞公司网站制作要多少钱企业为什么要做网站建设
  • 五一电子网站建设wordpress 打包app
  • 教育视频网站开发免费wordpress搭建
  • 单位的网站建设费会计处理百度一下浏览器
  • 江苏省工程建设标准站网站网站 平台建设情况介绍