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

微网站怎么做的好湖南正规seo公司

微网站怎么做的好,湖南正规seo公司,网站百度显示绿色官网字如何做的,网站建设网络合同这个效果在大部分手游中都有此效果。 就是如果角色被场景物体遮挡住了,会显示一个结构描边的效果。没有挡住的部分,则正常显示。 接下来讲解一下简单实现思路,模型需要渲染两次: 第一次一次是在正常渲染模型时,写入模…

这个效果在大部分手游中都有此效果。
在这里插入图片描述
就是如果角色被场景物体遮挡住了,会显示一个结构描边的效果。没有挡住的部分,则正常显示。

接下来讲解一下简单实现思路,模型需要渲染两次:
第一次一次是在正常渲染模型时,写入模板测试数据,深度测试不通过则不会写入模板测试数据,以此来判断当前哪些部分被遮挡住。
第二次是在后处理之前进行渲染,因为在后处理中是无法获取模板数据的。第二次渲染时,深度测试是全通过的,如果不全通过,被遮挡的部分还是无法渲染出来相关内容。模板测试则判断是否与第一次写入的值是否相等,因为第一次渲染写入模板测试值时,被遮挡部分是没有写入的。
将值不相等的部分渲染出来,则实现了次效果。

接下来进入实现。
在这里插入图片描述
你需要在角色shader上面增加此段代码,含义为,写入模板,数值为2,Comp Always 意思 GPU 为所有像素的模板测试执行的操作。后面两个是通过了模板和深度测试后替换成2,没有通过深度通过模板了也设置成2 。反正只要深度没通过的,其它的模板值全设置成2 。这样方便后面做对比。
在这里插入图片描述
在renderFeature这里,我直接用了内置的增加pass的,懒得再写了。
设置在后处理之前添加pass。
内置的需要设置LayerMask,大家需要将角色设置成相应的layer,要不然就自己实现一下renderFeature。
添加材质。
深度测试始终可以通过。
模板测试设置成和角色设置的相同的数值。
然后只在不相等的情况下进行渲染。
这样就实现了相应的效果。

轮廓shader也只是一个简单的fresnel效果,列一下。

Shader "Universal Render Pipeline/ROLE/RoleOutLine"
{Properties{[MainTexture] _BaseMap ("Albedo", 2D) = "white" { }[MainColor] _BaseColor ("Color", Color) = (1, 1, 1, 1)_Cutoff ("Alpha Cutoff", Range(0.0, 1.0)) = 0.5_VertexOffset ("顶点偏移", Float) = 0_Power("Power", Range(0.0, 10.0)) = 1_FresnelIntensity("FresnelIntensity", Range(0.0, 5.0)) = 1_Cull ("Cull", Int) = 2}SubShader{Pass{Cull[_Cull]ZTest AlwaysBlend SrcAlpha OneMinusSrcAlphaHLSLPROGRAM#pragma exclude_renderers gles gles3 glcore#pragma target 4.5//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#pragma instancing_options renderinglayer#pragma multi_compile _ DOTS_INSTANCING_ON#pragma vertex LitPassVertex#pragma fragment LitPassFragment#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"//需要光照系统时增加此引入// #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"struct Attributes{float4 positionOS : POSITION;float3 normalOS : NORMAL;float4 tangentOS : TANGENT;float2 texcoord : TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct Varyings{float2 uv : TEXCOORD0;float4 positionCS : SV_POSITION;float3 normalWS : TEXCOORD1;float3 positionWS : TEXCOORD2;UNITY_VERTEX_INPUT_INSTANCE_ID};TEXTURE2D(_BaseMap);        SAMPLER(sampler_BaseMap);CBUFFER_START(UnityPerMaterial)half4 _BaseColor;half4 _BaseMap_ST;half _Cutoff;half _VertexOffset;half _Power;half _FresnelIntensity;CBUFFER_END// Used in Standard (Physically Based) shaderVaryings LitPassVertex(Attributes input){Varyings output = (Varyings)0;UNITY_SETUP_INSTANCE_ID(input);UNITY_TRANSFER_INSTANCE_ID(input, output);VertexNormalInputs normalInput = GetVertexNormalInputs(input.normalOS, input.tangentOS);//通过法向偏移顶点half3 positionOS = input.positionOS.xyz;positionOS += input.normalOS * _VertexOffset;output.positionCS = TransformObjectToHClip(positionOS);output.uv = TRANSFORM_TEX(input.texcoord, _BaseMap);output.normalWS = normalInput.normalWS;output.positionWS = TransformObjectToWorld(positionOS);return output;}half4 LitPassFragment(Varyings input) : SV_Target{UNITY_SETUP_INSTANCE_ID(input);//---------------输入数据-----------------float2 UV = input.uv;half3 viewDirWS = normalize(GetWorldSpaceViewDir(input.positionWS));half fresnel = saturate(1.0 - dot(input.normalWS, viewDirWS));fresnel = pow(fresnel, _Power);half4 color = _BaseColor * _FresnelIntensity;// clip(color.r - _Cutoff);return half4(color.rgb, fresnel);}ENDHLSL}}FallBack "Hidden/Universal Render Pipeline/FallbackError"// CustomEditor "UnityEditor.Rendering.Universal.ShaderGUI.RoleShader"}

就这么简单,你们学废了吗。

http://www.lbrq.cn/news/2371753.html

相关文章:

  • 建设部四库一平台网站广州各区正在进一步优化以下措施
  • 南昌网站推广公司网络推广软文范文
  • 网站建设的步骤过程百度网页版 入口
  • 做网站怎么做放大图片百度快照在哪里
  • 房地产行业现状及前景怎样优化标题关键词
  • 网站定制开发需要什么资质合肥seo按天收费
  • 怎样攻击网站网站推广的途径和方法
  • 东莞公司网站上海优化网站公司哪家好
  • 做中英文网站长沙专业竞价优化首选
  • 主题网站界面设计进入百度首页
  • 保定哪家做网站好百度搜索收录入口
  • 网站定制开发网站广告投放收费标准
  • 24小时资源视频在线观看石家庄网站建设seo
  • 手机在线做ppt模板下载网站搜索风云榜百度
  • 天津 网站建设东莞今天最新消息新闻
  • 2018网站如何做seo项目营销策划方案
  • 性价比最高的网站建设最新seo网站优化教程
  • 西安SEO网站建设哪家好枸橼酸西地那非片多长时间见效
  • 设计logo的ai软件seo就业
  • 网站建设的风格厦门seo专业培训学校
  • 童装 技术支持 东莞网站建设站长之家seo查询
  • 网站开发培训广西百度霸屏推广多少钱一个月
  • 中国十大流量网站论坛外链代发
  • 腾讯云主机能给几个网站备案网站seo课设
  • 域名跟空间都有了怎么做网站美食软文300字
  • 信访举报 网站 建设 情况江门搜狗网站推广优化
  • 网站做微信小程序宁波seo网络推广公司排名
  • 邹城网站制作百度指数查询工具
  • 长春哪里有做网站的武汉百度seo排名
  • 可以做兼职的动漫网站他达拉非什么是
  • Python元组(Tuple)指南
  • MailAgentProcess.getInstance
  • ZKmall开源商城架构助力增长:多端流量聚合与用户体验
  • SVG基础语法:绘制点线面的简单示例
  • 数据集相关类代码回顾理解 | utils.make_grid\list comprehension\np.transpose
  • VUEX 基础语法