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

ps怎么做网站的广告条摄影网站设计报告

ps怎么做网站的广告条,摄影网站设计报告,国人经典wordpress主题liveo,seo数据优化闲谈 相信大家在日常工作中发现了一个问题 #xff0c; urp下虽然可以做到3个Pass 去写我们想要的效果#xff0c;但是#xff0c;不能合批#xff08;不能合批#xff0c;那不是我们CPU要干冒烟~#xff01;#xff09; 好家伙#xff0c;熊猫老师的偏方来了 #x…  闲谈  相信大家在日常工作中发现了一个问题 urp下虽然可以做到3个Pass 去写我们想要的效果但是不能合批不能合批那不是我们CPU要干冒烟~ 好家伙熊猫老师的偏方来了 教大家如何在URP渲染管线下做到多pass也能合批干货满满。   一合并公共预设  方便我们多Pass状态下 更快的实现也能让代码更加专业。 如图所示  我们在Subshader下用 HLSLINCLUDE  和 ENDHLSL 去实现。 其次 咱们在第二个Pass  “影子渲染pass”里面添加Tags  并对LightMode 复制渲染层为 “XiongMaoWuDao” 如图所示 Pass{Name XiongMaoWuDaoTags{LightMode XiongMaoWuDao} 二URP  Add Renderer Feature  如图步骤 添加Renderer Feature  设置如下 好了现在我们来看看多物件下影子Pass是否合批。 上才艺 Shader XiongMaoWuDao/Shadow {Properties{[MainColor] _BaseColor(BaseColor, Color) (1,1,1,1)[MainTexture] _BaseMap(BaseMap, 2D) white {}//影子处理//影子淡出处理_ShadowColor(Color, Color) (0, 0, 0, 1)_LightDir (Light Direction, Vector) (0, 1, 0, 0)_PlaneY (Plane Height, Float) 0 _ShadowFalloff (ShadowFalloff ,Range (0,1)) 0.5}SubShader{Tags { RenderType Opaque RenderPipeline UniversalPipeline Queue Opaque}HLSLINCLUDE#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlslTEXTURE2D(_BaseMap);SAMPLER(sampler_BaseMap);CBUFFER_START(UnityPerMaterial)float4 _BaseMap_ST;half4 _BaseColor;float4 _ShadowColor;half3 _LightDir;half _PlaneY;half _ShadowFalloff;CBUFFER_ENDENDHLSLpass {Name ForwardTags {}HLSLPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_instancingstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct v2f{float2 uv : TEXCOORD0; float4 vertex : SV_POSITION;UNITY_VERTEX_INPUT_INSTANCE_ID};v2f vert (appdata v){v2f o;UNITY_SETUP_INSTANCE_ID(v);UNITY_TRANSFER_INSTANCE_ID(v, o);o.vertex TransformObjectToHClip(v.vertex.xyz);;o.uv TRANSFORM_TEX(v.uv, _BaseMap);return o;}half4 frag (v2f i) : SV_Target{UNITY_SETUP_INSTANCE_ID(i);return SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, i.uv) * _BaseColor;}ENDHLSL}Pass{Name XiongMaoWuDaoTags{LightMode XiongMaoWuDao}//添加模板缓冲区是解决影子重叠问题降低透明度就能发现Stencil{Ref 1 //和模板缓冲区的值进行比较。Comp NotEqual //比较函数 决定参考值和模板缓冲区的值如何比较 (是否相等) NotEqualPass Replace //模板测试通过时候的操作 。 Replace 模板缓冲区中的值设为参考值。ReplaceFail Keep //模板测试失败时候的操作 。 keep是保持缓冲区当前的值//ZFail Keep }Blend SrcAlpha OneMinusSrcAlpha// ZWrite off// Offset -1 , 0HLSLPROGRAM#pragma vertex vert#pragma fragment fragstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0; float4 vertex : SV_POSITION;float4 color : COLOR;};//阴影方向计算。float3 PlanarShadowPos(float3 posWS){float3 L normalize(_LightDir);float3 N float3(0, 1, 0);float d1 dot(L, N);float d2 posWS.y - _PlaneY;// 阴影坐标沿法线方向偏移一点防止与平面重叠时出现z-fighting的问题float3 offsetByNormal N * 0.001;return posWS - L * (d2 / d1) offsetByNormal;}v2f vert (appdata v){v2f o;// 顶点坐标转世界坐标float3 posWS TransformObjectToWorld(v.vertex.xyz);// 世界顶点坐标转为平面坐标posWS PlanarShadowPos(posWS);o.vertex TransformWorldToHClip(posWS);o.uv v.uv; //得到中心点世界坐标float3 center float3(unity_ObjectToWorld[0].w, _PlaneY, unity_ObjectToWorld[2].w);//计算阴影衰减float falloff 1 - saturate(distance(posWS, center) * _ShadowFalloff);o.color _ShadowColor;o.color.a *falloff;return o;}half4 frag (v2f i) : SV_Target{return i.color;}ENDHLSL}}} 能看见我在场景中做了4个材质球且用了不同的贴图但是  能看见第一个pass对颜色渲染已经合批成一个了除了地面用了默认的材质球外忽略。 第二个Pass影子也全部合并成一个渲染层渲染完美解决问题。 鼓掌~~~
http://www.w-s-a.com/news/324626/

相关文章:

  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱
  • nginx 网站建设淘客网站怎么做首页
  • 网站制作的基本步骤是手机网站建设 新闻
  • 水墨 网站源码工装
  • 任丘网站建设服务网站 建设原则
  • 长沙做一个网站要多少钱网站底部备案代码
  • wordpress构建自定义设置页面seo培训学什么
  • 延安有哪些做网站的公司如何建设网站?
  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算
  • 苏州网站设计kgwl个人网站有什么外国广告做