网站备案信息如何注销吗电脑上如何进入wordpress
网站备案信息如何注销吗,电脑上如何进入wordpress,茶叶网站模板,市场调研公司招聘陡峭视差贴图#xff08;Steep Parallax Mapping#xff09;介绍陡峭视差贴图是标准视差贴图的进阶技术#xff0c;通过分层采样高度图解决陡峭表面#xff08;如岩石、冰缝#xff09;的UV偏移失真问题。其核心原理是将视线方向在切线空间内分解为多层#xff0c;逐…陡峭视差贴图Steep Parallax Mapping介绍陡峭视差贴图是标准视差贴图的进阶技术通过分层采样高度图解决陡峭表面如岩石、冰缝的UV偏移失真问题。其核心原理是将视线方向在切线空间内分解为多层逐层检测高度差以确定最终采样点相比单次偏移计算能更精确地模拟遮挡关系。核心优势陡峭表面适应性通过光线步进Raymarching避免标准视差贴图在接近平行视角时的拉伸失真动态分层采样根据视角与法线夹角动态调整采样层数通常5-15层平衡性能与精度遮挡效果增强精确计算视线与高度图的交点模拟更真实的深度遮挡Unity URP 实现示例与原理详解原理说明分层采样机制根据视角与表面法线的夹角动态分配5-15层采样numLayers视角越平行层数越多每层高度差为layerHeight通过循环逐层比较当前高度与采样深度光线步进优化使用deltaUV控制每步UV偏移量避免标准视差贴图的单次偏移过大问题通过currentLayerHeight currentDepth判断终止条件找到精确交点切线空间计算通过URP内置函数TransformWorldToTangent转换视角方向确保偏移方向正确高度图采样值取反1 - SAMPLE_TEXTURE2D以匹配Unity的纹理坐标系SteepParallax.shaderShader Universal Render Pipeline/SteepParallax{Properties{_MainTex(Albedo, 2D) white {}_NormalMap(Normal Map, 2D) bump {}_HeightMap(Height Map, 2D) white {}_ParallaxScale(Height Scale, Range(0, 0.1)) 0.05}SubShader{Tags { RenderPipelineUniversalPipeline }HLSLINCLUDE#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlslTEXTURE2D(_MainTex); SAMPLER(sampler_MainTex);TEXTURE2D(_NormalMap); SAMPLER(sampler_NormalMap);TEXTURE2D(_HeightMap); SAMPLER(sampler_HeightMap);float _ParallaxScale;// 陡峭视差映射核心函数float2 SteepParallaxMapping(float3 viewDirTS, float2 uv){// 动态计算采样层数视角越平行层数越多float minLayers 5;float maxLayers 15;float numLayers lerp(maxLayers, minLayers, abs(dot(float3(0,0,1), viewDirTS)));// 每层高度步长float layerHeight 1.0 / numLayers;float currentLayerHeight 0;// UV偏移步长float2 deltaUV _ParallaxScale * viewDirTS.xy / viewDirTS.z / numLayers;float2 currentUV uv;// 初始高度采样float currentDepth 1 - SAMPLE_TEXTURE2D(_HeightMap, sampler_HeightMap, currentUV).r;// 光线步进循环[loop]for (int i 0; i 15; i){if (currentLayerHeight currentDepth) break;currentUV - deltaUV;currentDepth 1 - SAMPLE_TEXTURE2D(_HeightMap, sampler_HeightMap, currentUV).r;currentLayerHeight layerHeight;}return currentUV;}ENDHLSLPass{HLSLPROGRAM#pragma vertex vert#pragma fragment fragstruct Attributes{float4 positionOS : POSITION;float2 uv : TEXCOORD0;float3 normalOS : NORMAL;float4 tangentOS : TANGENT;};struct Varyings{float4 positionCS : SV_POSITION;float2 uv : TEXCOORD0;float3 viewDirTS : TEXCOORD1;};Varyings vert(Attributes IN){Varyings OUT;VertexPositionInputs posInput GetVertexPositionInputs(IN.positionOS.xyz);OUT.positionCS posInput.positionCS;// 转换视角方向到切线空间VertexNormalInputs normInput GetVertexNormalInputs(IN.normalOS, IN.tangentOS);float3 viewDirWS GetWorldSpaceViewDir(posInput.positionWS);OUT.viewDirTS TransformWorldToTangent(viewDirWS,normInput.tangentWS, normInput.bitangentWS, normInput.normalWS);OUT.uv IN.uv;return OUT;}half4 frag(Varyings IN) : SV_Target{// 计算陡峭视差UV偏移float2 parallaxUV SteepParallaxMapping(normalize(IN.viewDirTS), IN.uv);// 采样最终纹理half4 albedo SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, parallaxUV);half3 normalTS UnpackNormal(SAMPLE_TEXTURE2D(_NormalMap, sampler_NormalMap, parallaxUV));return half4(albedo.rgb, 1);}ENDHLSL}}}性能与效果对比维度 标准视差贴图 陡峭视差贴图采样次数 单次采样 5-15次分层采样陡峭表面表现 易失真 精准遮挡适用平台 移动端 PC/主机推荐参数 _ParallaxScale0.02 _ParallaxScale0.05实际应用中建议在URP材质中同时使用法线贴图和陡峭视差贴图并控制_ParallaxScale不超过0.1以避免性能瓶颈