Почему в 2018.2 Beta отвалился Replacement Shader?
Добавлено: 08 июл 2018, 04:25
Всем привет. У меня прекрасно работал небольшой скрипт в предыдущей версии, но в текущей бете он совершенно никак не влияет на рендеринг, словно SetReplacementShader вообще не вызывается. Там довольно много изменений в Rendering Pipeline было, но что могло реально стать причиной и как её пофиксить? Подскажите, куда можно копнуть?
Код довольно прост:
Код довольно прост:
Синтаксис:
Используется csharp
using UnityEngine;
namespace Assets.Asimov.Utils
{
[RequireComponent(typeof(Camera))]
public class CameraShaderReplacement : MonoBehaviour
{
[SerializeField]
private Shader ReplacementShader;
public void Start ()
{
Debug.Log("Activate replacement shader");
GetComponent<Camera>().SetReplacementShader(ReplacementShader, "RenderType");
}
}
}
namespace Assets.Asimov.Utils
{
[RequireComponent(typeof(Camera))]
public class CameraShaderReplacement : MonoBehaviour
{
[SerializeField]
private Shader ReplacementShader;
public void Start ()
{
Debug.Log("Activate replacement shader");
GetComponent<Camera>().SetReplacementShader(ReplacementShader, "RenderType");
}
}
}
Синтаксис:
Используется csharp
Shader "ColorReplacement" {
Properties {
ReplacementColor ("ReplacementColor", Color) = (0,0,0,1)
_MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata
{
float4 vertex : POSITION;
};
struct v2f
{
float4 vertex : SV_POSITION;
};
float4 ReplacementColor;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return ReplacementColor;
}
ENDCG
}
}
}
Properties {
ReplacementColor ("ReplacementColor", Color) = (0,0,0,1)
_MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata
{
float4 vertex : POSITION;
};
struct v2f
{
float4 vertex : SV_POSITION;
};
float4 ReplacementColor;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return ReplacementColor;
}
ENDCG
}
}
}