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
相关产品推荐
相关产品推荐

