如何解决将标准着色器转换为URP着色器
我在转换此特定着色器时遇到问题。以前,我将它用作标准着色器进行了其他更改。但是现在转换为URP后,它显示为粉红色。我不确定在着色器代码中需要更改什么。我还尝试过在此处使用模板URP(https://gist.github.com/phi-lira/225cd7c5e8545be602dca4eb5ed111ba#file-universalpipelinetemplateshader-shader-L83)更改名称,但仍然没有任何效果。有人可以帮我吗?
Shader "Custom/Texture Blend" {
Properties {
_Color ("Color",Color) = (1,1,1)
_Blend ("Texture Blend",Range(0,1)) = 0.0
_BaseMap ("Albedo",2D) = "white" {}
_BaseMap2 ("Albedo",2D) = "white" {}
_BumpTex ("My normal map",2D) = "bump" {}
_BumpScale ("Scale",Float) = 1.000000
_Glossiness ("Smoothness",1)) = 0.5
_Metallic ("Metallic",1)) = 0.0
[NoScaleOffset] _EmissionMap ("Emission",2D) = "black" {}
[HDR] _EmissionColor ("Emission Color",Color) = (0,0)
}
SubShader {
Tags{"RenderType" = "Opaque" "RenderPipeline" = "UniversalRenderPipeline" "IgnoreProjector" = "True"}
LOD 300
CGPROGRAM
// Physically based Standard lighting model,and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows
#pragma shader_feature _METALLIC_MAP
#pragma shader_feature _ _SMOOTHNESS_ALBEDO _SMOOTHNESS_METALLIC
#pragma shader_feature _EMISSION_MAP
// Use shader model 3.0 target,to get nicer looking lighting
#pragma target 3.0
sampler2D _BaseMap;
sampler2D _BaseMap2;
sampler2D _BumpTex;
sampler2D _EmissionMap;
fixed4 _EmissionColor;
//float _Emission;
struct Input {
float2 uv_BaseMap;
float2 uv_BaseMap2;
float2 uv_BumpTex : TEXCOORD1;
};
half _Blend;
half _BumpScale;
half _Glossiness;
half _Metallic;
fixed4 _Color;
void surf (Input IN,inout SurfaceOutputStandard o) {
// Albedo comes from a texture tinted by color
fixed4 c = lerp (tex2D (_BaseMap,IN.uv_BaseMap),tex2D (_BaseMap2,IN.uv_BaseMap2),_Blend) * _Color;
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
o.Emission = tex2D(_EmissionMap,IN.uv_BaseMap) * _EmissionColor;
o.Normal = UnpackScaleNormal(tex2D(_BumpTex,IN.uv_BumpTex),_BumpScale);
c.rgb += o.Emission.rgb;
}
ENDCG
}
FallBack "Diffuse"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。