Jump to content
Unity Insider Forum

NormalMap berechnung


Floater

Recommended Posts

Hi zusammen,

 

ich bin in den Tiefen des Internet über folgende Formel gestolpert wie Unity3d die Normals berechnet.

 

inline fixed3 UnpackNormal(fixed4 packednormal)
{
   #if defined(SHADER_API_GLES) && defined(SHADER_API_MOBILE)
    return packednormal.xyz * 2 - 1;
   #else
    fixed3 normal;
    normal.xy = packednormal.wy * 2 - 1;
    normal.z = sqrt(1 - normal.x*normal.x - normal.y * normal.y);
    return normal;
   #endif
}

 

Dazu hätte ich ein paar Fragen:

Während die Mobile-Variante eher dem entspricht wie ich mir das ganze vorgestellt habe, frage ich mich warum die "Desktop" Variante soviel anders ist.

Was ist die Variable w genau? Das müsste doch eigentlich der Alpha sein (RGBA = XYZW)? Was für Infos erwartet Unity3d dort und warum?

 

Wieso diese Fragen: Ich will mir eigentlich n Shader basteln der von der Normal nur RG benutzt und den Rest... hmmm... keine Ahnung... Specular- und Gloss-Strenght oder sowas. Spec/Glosscolor dann über ein ein Color-Feld im Editor.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...