Jump to content
Unity Insider Forum

undeclared identifier UnityObjectToClipPos


Seyshiro

Recommended Posts

Hi@all,

ich bin grade dabei, das Shader-Tutorial von dieser Seite durchzuarbeiten.

Jetzt habe ich einfach mal folgendes Code-Snippet per Copy&Paste ins Visual Studio eingefügt, um mir den Effekt mal im Editor anzuschauen:

Shader "Custom/MyPersonalShader"
{
SubShader
{
 Pass
 {
  CGPROGRAM
  #pragma vertex vert
  #pragma fragment frag
  #include "UnityCG.cginc"
  struct v2f
  {
float4 pos : SV_POSITION;
fixed3 color : COLOR0;
  };
  v2f vert (appdata_base v)
  {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
o.color = v.normal * 0.5 + 0.5;
return o;
  }
  fixed4 frag (v2f i) : SV_Target
  {
return fixed4(i.color, 1);
  }
  ENDCG
 }
}
}

 

Wenn ich diesen Code nun speichere erscheint in der Console folgende Fehlermeldung:

"Shader error in 'Custom/MyPersonalShader': undeclared identifier 'UnityObjectToClipPos' at line 22 (on d3d11)".

 

Meine Unity-Version ist 5.3.5 (falls das was zu sagen hat).

Auf einer anderen Seite der Unity-Dokumentation habe ich auch gelesen, dass diese Funktion ein Teil der UnityCG-Lib ist, diese hab ich ja auch included, daher kann ich diese Fehlermeldung nicht wirklich nachvollziehen. Weiß vielleicht jemand von euch, wo das Problem liegt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sieht eigentlich ganz gut aus, aber eventuell ist das Tutorial veraltet und die Funktion gibt's nicht mehr.

 

So oder so ein Vorschlag: Du kannst die eingebauten Shader, inklusive der CGIncludes hier herunterladen: https://unity3d.com/de/get-unity/download/archive

Dann kannst du mal in die UnityCG.cginc reinschauen und gucken, ob es die Funktion immer noch gibt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...