我使用自定义着色器在2018年的统一版本,其中有LWRP,现在我已经升级到最新的团结与URP,我再也不能使用这个着色器。全是粉红色的。我甚至尝试去设置和升级的项目材料,但它抛出一个错误的There's no upgrader to convert Custom/OnTop shader to selected pipeline。如何在URP中重用此着色器?
Shader "Custom/OnTop" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
[NoScaleOffset] _EmissionMap ("Emission", 2D) = "black" {}
//_Emission ("Emission", Color) = (0, 0, 0)
[HDR] _EmissionColor ("Emission Color", Color) = (0,0,0)
}
SubShader {
Tags {"Queue" = "Transparent" "RenderType"="Transparent" }
Blend SrcAlpha OneMinusSrcAlpha
LOD 200
ZWrite Off
CGPROGRAM
#pragma surface surf Standard fullforwardshadows alpha:fade
#pragma target 3.0
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
sampler2D _EmissionMap;
fixed4 _EmissionColor;
UNITY_INSTANCING_BUFFER_START(Props)
// put more per-instance properties here
UNITY_INSTANCING_BUFFER_END(Props)
void surf (Input IN, inout SurfaceOutputStandard o) {
// Albedo comes from a texture tinted by color
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _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_MainTex) * _EmissionColor;
c.rgb += o.Emission.rgb;
}
ENDCG
}
FallBack "Diffuse"
}发布于 2020-10-16 11:13:23
试着改变
[NoScaleOffset] _EmissionMap ("Emission", 2D) = "black" {}
//_Emission ("Emission", Color) = (0, 0, 0)
[HDR] _EmissionColor ("Emission Color", Color) = (0,0,0)至
_EmissionMap ("Emission", 2D) = "black" {}
//_Emission ("Emission", Color) = (0, 0, 0)
_EmissionColor ("Emission Color", Color) = (0,0,0)https://stackoverflow.com/questions/64367438
复制相似问题