? ? ? ? 这不是纠正女神的代码,而是自己的一点总结,因为软件升级而引起代码替换问题,如果有幸别人看到,有问题与建议欢迎留言。
????????因为本人是游戏美术,不是程序的同学,没程序基础,所以照抄代码遇到的问题都在这样总结一下。
? ? ? ? 下面这段代码就是完全照抄然后Unity自动转换导致计算错误的代码:
// 升级说明:将 'mul(UNITY_MATRIX_MVP,*)' 替换为 'UnityObjectToClipPos(*)'
Shader "ShaderRMJY/RMJY05_UnlitShader01"
{
SubShader{
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
float4 vert(float4 v: POSITION): SV_POSITION {
return UnityObjectToClipPos(v.vertex);
}
fixed4 frag() : SV_Target {
return fixed4(1.0, 1.0, 1.0, 1.0);
}
ENDCG
}
}
}
手动修改后的代码如下:
// 升级说明:将 'mul(UNITY_MATRIX_MVP,*)' 替换为 'UnityObjectToClipPos(*)'
Shader "ShaderRMJY/RMJY05_UnlitShader01"
{
SubShader{
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
float4 vert(float4 v: POSITION): SV_POSITION {
return UnityObjectToClipPos(v);
}
fixed4 frag() : SV_Target {
return fixed4(1.0, 1.0, 1.0, 1.0);
}
ENDCG
}
}
}
可以看到自动转换的会多乘以一个vertex,只要把vertex去掉,就能正常显示。
后期有问题我在继续更新在这里。
|