UE4はテクスチャをインポートする際、 ある程度自動で適切な圧縮形式にしてくれます。 例えば、ノーマルマップなんかはその最たる例で、 UE4が「あ、こいつノーマルマップだ」と判断すると、 BC5などのノーマルマップに適した圧縮形式に自動設定されます。 (むしろ勝手に設定が変わってて「??」となった方もいらっしゃるかもしれません。) このノーマルマップの判定は、 NormalMapIdentification.cpp内の、 DoesTextureLookLikelyToBeANormalMap()という関数で行われています。 中身の実装を見てみると、 なるほど、ピクセルの色からベクトルを出して、 長さがおかしかったり、向きが逆向いてたりするものを判定しているのですね。 そしてノーマルマップなら大体{0,0,1}の方向を向いているはずと考えて、 誤差の範囲内であればノーマルマップと見なすと、そ
![[UE4]テクスチャインポート時のノーマルマップ判定をすり抜けろ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/afd8cd0d9af7369941ceacf11d678b3d8c43c8f2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCVUU0JTVEJUUzJTgzJTg2JUUzJTgyJUFGJUUzJTgyJUI5JUUzJTgzJTgxJUUzJTgzJUEzJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgzJTlEJUUzJTgzJUJDJUUzJTgzJTg4JUU2JTk5JTgyJUUzJTgxJUFFJUUzJTgzJThFJUUzJTgzJUJDJUUzJTgzJTlFJUUzJTgzJUFCJUUzJTgzJTlFJUUzJTgzJTgzJUUzJTgzJTk3JUU1JTg4JUE0JUU1JUFFJTlBJUUzJTgyJTkyJUUzJTgxJTk5JUUzJTgyJThBJUU2JThBJTlDJUUzJTgxJTkxJUUzJTgyJThEJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1hM2EzMDI2ODZkZTc3MGM1ZDI2ZTc5YzYwNjZhMjIwMw%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBFR0otT3NhbXVfU2FpdG8mdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTc4YjE0NjUyZDE0NDY0ZDQ3NTA1ZmQyOTA1MzZmZjMx%26blend-x%3D120%26blend-y%3D445%26blend-mode%3Dnormal%26txt64%3DaW4gRXBpYyBHYW1lcyBKYXBhbg%26txt-width%3D972%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25233A3C3C%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D134%26txt-y%3D546%26s%3D06e4766a852dd379afb69222884cb309)