Ich bin ziemlich neu zu Shaderlab mit Einheit. Ich versuche die Scheitelpunkte so zu verzerren, dass sie nach hinten und in Richtung Kamera gedrückt werden, fast so, als würde man die Kamera aus einem Winkel von 45 Grad betrachten. Ich repliziere einen Effekt aus einem Spiel zum Spaß. This ist der Code für die Wirkung verwendetVertex Verzerrung in Shaderlab
IVE versucht, den Code in eine Shader-Skript implenting wie so:
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;
}
ich erhalte jedoch einen Fehler es besagen, kann von float3 nicht konvertieren float4, ich bin nicht sicher, wie es wurde implementiert
@CamiloTerevinto Nicht wirklich C++. Shaderlab. Unity unterstützt auch GLSL. – Programmer
@Programmer repariert es, dachte, es war C++. Immer noch sehr weit von C# sowieso –
Das stimmt. Es ist weit entfernt von C# – Programmer