Ich habe folgendes Problem mit einem Unity5-Shader Script.
Ich versuche, leider ohne Erfolg, mittels eines Custom-Shader auf das zweite UV-Set meines COLLADA Modelles zuzugreifen.
Code: Alles auswählen
Shader "Custom/level-01_shader_default"
{
Properties
{
_Color("Color", Color) = (1,1,1,1)
_MainTex("Albedo (RGB)", 2D) = "white" {}
_Glossiness("Smoothness", Range(0,1)) = 0.5
_Metallic("Metallic", Range(0,1)) = 0.0
}
SubShader
{
Tags{ "RenderType" = "Opaque" }
LOD 200
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0
sampler2D _MainTex;
struct Input
{
float2 uv2_MainTex;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
void surf(Input IN, inout SurfaceOutputStandard o)
{
// Albedo comes from a texture tinted by color
fixed4 c = tex2D(_MainTex, IN.uv2_MainTex) * _Color;
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
Egal wie ich an der Variable float2 uv2_MainTex rumschraube, das Resultat bleibt immer das selbe.
Ehrlicherweise muss ich sagen, das ich nicht verstehe inwiefern der genaue Variable-Name uv2_MainTex eine Relevanz haben kann.
Wenn ich diesen im struct, und in der entsprechenden Zuweisung anpasse, müsste es ja eigentlich egal sein wie die Variable heisst.
Dem Ist aber anscheinend nicht so :mrgreen: .
Gruss starcow
Edit:
Dieses Thema sollte eigentlich in "Autorensysteme" gestartet werden. Entschuldigung.
Falls das ein Admin verschieben könnte wäre das super!
Edit:
Ich stelle grad fest, dass hier etwas ganz grundlegendes nicht stimmen kann.
Selbst mit einem standard Material scheint die UV interpretation fehlerhaft zu sein.
Ich kann mir darauf keinen Reim machen. Als das Modell noch ein UV Set hatte, wurde dieses korrekt dargestellt.