You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Runtime生成的法线贴图与编辑器创建的法线贴图显示效果不一致求助

Unity Runtime生成的法线贴图与编辑器创建的法线贴图显示效果不一致求助

我最近遇到个棘手的问题:想要在Unity运行时导入一张JPG格式的法线贴图,然后把它应用到材质上,但最终材质的显示效果和用编辑器导入的法线贴图完全不一样。

我写了一个法线贴图转换函数,代码是这样的:

Texture2D convertedNormalMap = new Texture2D(source.width, source.height, TextureFormat.RGBA32, true, true);

Color32[] cols = source.GetPixels32(0);
for (int i = 0; i < cols.Length; i++)
{
    cols[i].a = cols[i].r;
    cols[i].r = 255; // Color32 uses a byte per component, so 255 == 1.0
    cols[i].b = 255;
}
convertedNormalMap.SetPixels32(cols, 0);
convertedNormalMap.Apply();
return convertedNormalMap;

用这个运行时生成的法线贴图给一个简单的金属材质使用时,效果明显不对,和编辑器里正常导入的法线贴图呈现出的光影、凹凸效果差异很大。

有没有大佬能帮我排查一下问题出在哪呀?

备注:内容来源于stack exchange,提问作者Nick Hudson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:09:31