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

3 阐述网站建设的步骤过程 9分阿里云备案 网站备案域名

3 阐述网站建设的步骤过程 9分,阿里云备案 网站备案域名,怎么自己弄网站免费,之梦与wordpress哪个好用文章目录 前言一、给水上色1、我们在属性面板定义两个颜色2、在常量缓冲区申明这两个颜色3、在片元着色器中#xff0c;使用深度图对这两个颜色进行线性插值#xff0c;实现渐变的效果 二、实现泡沫效果1、采样 泡沫使用的噪波纹理2、控制噪波效果强弱3、定义_FoamRange来控制… 文章目录 前言一、给水上色1、我们在属性面板定义两个颜色2、在常量缓冲区申明这两个颜色3、在片元着色器中使用深度图对这两个颜色进行线性插值实现渐变的效果 二、实现泡沫效果1、采样 泡沫使用的噪波纹理2、控制噪波效果强弱3、定义_FoamRange来控制深度图范围4、使用 泡沫纹理 和 深度图范围 比较得到卡通泡沫效果5、定义_FoamColor作为泡沫颜色6、用 泡沫颜色 和 水的颜色相加输出 三、最终代码 前言 在上篇文章中我们实现了水体的深度。 Unity中URP实现水体效果水的深度 在这篇文章中我们来使用上篇文章采样后的深度图来实现水中的泡沫效果。 一、给水上色 1、我们在属性面板定义两个颜色 分别用于水正常的颜色 和 水接触物体的高亮色 _WaterColor1(“WaterColor1”,Color) (1,1,1,1) _WaterColor2(“WaterColor2”,Color) (1,1,1,1) 2、在常量缓冲区申明这两个颜色 CBUFFER_START(UnityPerMaterial) half4 _WaterColor1; half4 _WaterColor2; CBUFFER_END 3、在片元着色器中使用深度图对这两个颜色进行线性插值实现渐变的效果 half4 waterColor lerp(_WaterColor1,_WaterColor2,depthWater); 二、实现泡沫效果 1、采样 泡沫使用的噪波纹理 在属性面板定义接收 _FoamTex(“FoamTex”,2D) “white”{} 在Pass中定义 纹理 和 采样器 TEXTURE2D(_FoamTex);SAMPLER(sampler_FoamTex); 在常量缓冲区定义_FoamTex_ST 用于控制 Tilling 和 Offset 在Varying结构体中修改uv为四维变量xy存放正常的uv值zw存放世界空间下的xz值 在顶点着色器中使用顶点在世界空间下的xz坐标,作为采样的uv为了实现ST的功能 和 泡沫的流动性做了以下操作,_WaterSpeed为控制速度的变量 o.uv.zw o.positionWS.xz *_FoamTex_ST.xy _Time.y * _WaterSpeed; 在片元着色器中进行纹理采样 half4 foamTex SAMPLE_TEXTURE2D(_FoamTex,sampler_FoamTex,i.uv.zw); 2、控制噪波效果强弱 定义一个 _FoamNoise 变量用pow函数控制噪波效果 foamTex pow(foamTex,_FoamNoise); 3、定义_FoamRange来控制深度图范围 half4 foamRange depthWater * _FoamRange; 4、使用 泡沫纹理 和 深度图范围 比较得到卡通泡沫效果 half4 foamMask step(foamRange,foamTex); 5、定义_FoamColor作为泡沫颜色 half4 foamColor foamMask * _FoamColor; 6、用 泡沫颜色 和 水的颜色相加输出 half4 col foamColor waterColor; 三、最终代码 //水的深度 Shader MyShader/URP/P4_8_2 {Properties {[Header(Base)]_WaterColor1(WaterColor1,Color) (1,1,1,1)_WaterColor2(WaterColor2,Color) (1,1,1,1)_WaterSpeed(WaterSpeed,Range(0,1)) 0.1[Header(Foam)]_FoamTex(FoamTex,2D) white{} _FoamColor(FoamColor,Color) (1,1,1,1)_FoamRange(FoamRange,Range(0,5)) 1_FoamNoise(FoamNoise,Range(0,3)) 1}SubShader{Tags{//告诉引擎该Shader只用于 URP 渲染管线RenderPipelineUniversalPipeline//渲染类型RenderTypeTransparent//渲染队列QueueTransparent}//Blend One OneZWrite OffPass{Name UnlitHLSLPROGRAM#pragma vertex vert#pragma fragment frag// Pragmas#pragma target 2.0// Includes#include Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlslCBUFFER_START(UnityPerMaterial)half4 _WaterColor1;half4 _WaterColor2;half _FoamRange;half _WaterSpeed;half4 _FoamColor;half _FoamNoise;half4 _FoamTex_ST;CBUFFER_ENDTEXTURE2D(_CameraDepthTexture);SAMPLER(sampler_CameraDepthTexture);TEXTURE2D(_FoamTex);SAMPLER(sampler_FoamTex);//struct appdata//顶点着色器的输入struct Attributes{float3 positionOS : POSITION;float2 uv : TEXCOORD0;};//struct v2f//片元着色器的输入struct Varyings{float4 positionCS : SV_POSITION;float4 uv : TEXCOORD0;// xy uv,zw foamUVfloat4 screenPos : TEXCOORD1;float3 positionVS : TEXCOORD2;float3 positionWS : TEXCOORD3;};//v2f vert(Attributes v)//顶点着色器Varyings vert(Attributes v){Varyings o (Varyings)0;o.positionWS TransformObjectToWorld(v.positionOS);o.positionVS TransformWorldToView(o.positionWS);o.positionCS TransformWViewToHClip(o.positionVS);o.screenPos ComputeScreenPos(o.positionCS);//计算得到泡沫纹理采样需要的顶点世界空间下的坐标值的流动效果o.uv.zw o.positionWS.xz *_FoamTex_ST.xy _Time.y * _WaterSpeed;return o;}//fixed4 frag(v2f i) : SV_TARGET//片元着色器half4 frag(Varyings i) : SV_TARGET{//1、水的深度//获取屏幕空间下的 UV 坐标float2 screenUV i.positionCS.xy / _ScreenParams.xy;half depthTex SAMPLE_TEXTURE2D(_CameraDepthTexture,sampler_CameraDepthTexture,screenUV).x;//深度图转化到观察空间下float depthScene LinearEyeDepth(depthTex,_ZBufferParams);//获取水面模型顶点在观察空间下的Z值可以在顶点着色器中对其直接进行转化得到顶点观察空间下的坐标float4 depthWater depthScene i.positionVS.z;//2、水的颜色线性插值得到水 和 接触物体的水的 颜色的过度half4 waterColor lerp(_WaterColor1,_WaterColor2,depthWater);//3、水面泡沫//对泡沫纹理进行采样(这里使用顶点世界空间下的坐标进行纹理采样防止水体缩放影响泡沫的平铺和重复方式)half4 foamTex SAMPLE_TEXTURE2D(_FoamTex,sampler_FoamTex,i.uv.zw);foamTex pow(foamTex,_FoamNoise);//这里增加一个调整深度图范围的功能half4 foamRange depthWater * _FoamRange;//使用泡沫纹理 和 泡沫范围 比较得到泡沫遮罩half4 foamMask step(foamRange,foamTex);//给泡沫加上颜色half4 foamColor foamMask * _FoamColor;half4 col foamColor waterColor;//水的高光//水的反射//水的焦散//水下的扭曲return col;}ENDHLSL}}FallBack Hidden/Shader Graph/FallbackError }
http://www.pierceye.com/news/686013/

相关文章:

  • 网站地址英文不相关的网站做单项链接可以吗
  • 怎么做网站超链接wordpress 主题 设置
  • 手机电影网站建设如何做网站域名备案
  • 重庆手机网站推广价格网络营销论文参考文献
  • 如何给网站添加搜索关键字做流量网站有收入吗
  • 购物网站的英文如何不让百度收录网站
  • 上海定制网站建设公司哪家好建立公司官网
  • jsp电影网站开发教程滁州网站建设梦天堂
  • 网站建设哪个好一些网站服务器证书有问题
  • 广东省广州市白云区钟落潭镇优化什么建立生育支持政策体系
  • wordpress+代码质量哈尔滨百度seo代理
  • 北京模板网站建设全包中国招标与采购网官网
  • 戴尔公司网站建设成功的关键是什么永久网站
  • 上海青浦做网站做分销网站系统
  • 互联网公司网站建设的目的王烨演员
  • 网站开发图片加载慢如皋建设网站
  • 国家示范校建设成果网站wordpress文章图片alt
  • asp.net网站开发技术物流专线网站建设
  • 免费网站流量统计工具线下推广方法及策略
  • 西安市社交网站制作公司网站建设的参考文献
  • 企业网站内容建设网站开发小程序开发
  • 个人个案网站 类型wordpress群组
  • 微网站建设深圳英文站seo
  • 做网站要钱么网站建设备案多长时间
  • wordpress建站图片效果网站备案前置审批 成都
  • 哈尔滨网站关键词优化手机网站视频播放模板
  • 西安企业做网站贵州毕节建设局网站官网
  • 临沂网站定制室内设计师证书哪个含金量高
  • 国外做化工产品的网站湛江手机网站建设公司
  • 企业网站管理系统如何上传图片湖南网站建设营销推广