Unity3D之将图片转成NormalMap

本文介绍了一个将Unity中的Texture2D对象转换为法线贴图的方法。通过遍历原始纹理的每个像素,并调整颜色通道来生成新的法线贴图。此过程保留了原有纹理的绿色通道作为新贴图的所有颜色通道,并将红色通道赋值给Alpha通道。
public static Texture2D toNormalMap(Texture2D t){
 
	Texture2D n = new Texture2D(t.width,t.height,TextureFormat.ARGB32,true);
	Color oldColor = new Color();
	Color newColor = new Color();
 
	for (int x=0; x<t.width; x++){
		for (int y=0; y<t.height; y++){
		 
			oldColor = t.GetPixel(x,y);
			newColor.r = oldColor.g;
			newColor.b = oldColor.g;
			newColor.g = oldColor.g;
			newColor.a = oldColor.r;
			n.SetPixel(x,y, newColor);
		}
	}
 
	n.Apply();
 
	return n;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值