desTex = new Texture2D(tex.width, tex.height, TextureFormat.RGB24, false);
for (int i = 0; i < tex.height; i++)
{
for(int j = 0; j < tex.width; j++)
{
Color col = tex.GetPixel(i, j);
float grayscale = col.grayscale;
float xLeft = tex.GetPixel(i - 1, j).grayscale;
float xRight = tex.GetPixel(i + 1, j).grayscale;
float yUp = tex.GetPixel(i, j + 1).grayscale;
float yDown = tex.GetPixel(i, j - 1).grayscale;
// 方案1
//float xDelta = ((xLeft - xRight) + 1) * .5f;
//float yDelta = ((yUp - yDown) + 1) * .5f;
//desTex.SetPixel(i, j, new Color(xDelta, yDelta, 1f, 1f));
// 方案2, 更靠近Unity3D的 create from grayScale, Bumpiness = 0.01
Create Normal map from grayscale map
最新推荐文章于 2022-07-11 09:01:46 发布
这篇博客探讨了如何从灰度图生成法线贴图,引用了Unity论坛和StackOverflow上的资源,提供了将灰度图转换为RGB法线贴图的方法。
摘要由CSDN通过智能技术生成