スクリプトからメモリ上のTexture2DにSetPixelsを行って法線マップ画像を生成し、NormalDiffuseシェーダーのNormalMapとして設定したい時にちょっとひっかかったので、そのお話。 基本的にUnityではGL系で一般的なNormalmapの形式(チャンネルの割り振りがRGBA=XYZW)に対応していますが、一度NormalmapとしてTextureをインポートしてしまうと、内部的には環境依存で暗黙のフォーマット変換を受けているケースがあります。 DXT5nmというフォーマットに変換されるかも Creating runtime normal maps using renderToTexture UnpackNormal(fixed4 packednormal) role ? ウチのRadeon挿したWin機では変換されてました。DXT5nはGA(緑と赤、軸で言えばY