我对整齐的shaderlab很新。我试图扭曲顶点,使它们向后推向相机,几乎就像从45度角看相机一样。我正在复制游戏中的效果以获得乐趣。 This是用于效果的代码
我尝试将代码实现为着色器脚本,如下所示:
float4 vert(appdata v){
float3 position = mul(unity_ObjectToWorld, v.vertex).xyz;
float y = position.y;
float z = position.x;
float3 parentTranslation = ParentMatrix._m30_m31_m32;
position -= parentTranslation;
position.z += AlternateLayeringScale;
position.z -= y;
position.y += position.z;
position += parentTranslation + float3(0,parentTranslation.z,0);
return position;
}
然而我收到错误,说明它无法从float3转换为float4,我不确定它是如何实现的
答案 0 :(得分:0)
第四部分'w'也称为反向拉伸因子。要将vec4转换为vec3,最好执行position.xyz / position.w
并将其放回vec4中,您可以编写return fixed4(position, 1)