Unity中动态生成贴图并保存成png图片实现

实现原理:

要生成长x宽y的贴图,就是生成x*y个像素填充到贴图中,如下图:

如果要改变局部颜色,就是从x1到x2(x1<x2),y1到y2(y1<y2)这个范围做处理,

或者要想做圆形就是计算距某个点(x1,y1)在一定长度d的范围内做处理

代码:

cs 复制代码
    Vector3 point;
    float d;
    Texture2D t = new Texture2D(width,height);
    Color[] pixelColors = new Color[width * height];
    for (int i = 0; i < width; i++)
    {
        for (int j = 0; j < height; j++)
        {
            if(Mathf.Abs(i-width/2 - point.x)<d && Mathf.Abs(j-height/2 - point.z)<d){
             pixelColors[i * this.height + j] = new Color(0,0,0,0);
            }else{
             pixelColors[i * height + j] = Color.black;
            }
        }
    }

    t.SetPixels(pixelColors);
    t.Apply();
    byte[] b = t.EncodeToPNG();
    System.IO.File.WriteAllBytes(Application.dataPath+"/t.png",b);

最终就会在文件夹中保存了图片

相关推荐
心前阳光19 分钟前
Unity之Luban表格配置
unity
mascon1 小时前
unity mcp 使用
unity·游戏引擎
心前阳光2 小时前
Unity之语音提问,语音答复
unity·游戏引擎
mxwin4 小时前
Unity Shader UV 坐标与纹理平铺Tiling & Offset 深度解析
unity·游戏引擎·shader·uv
chao1898444 小时前
基于STM32F1的声源定位系统设计与实现
stm32·嵌入式硬件·unity
七夜zippoe15 小时前
OpenClaw 内置工具详解
unity·ai·游戏引擎·openclaw·内置工具
mxwin20 小时前
Unity Shader 细节贴图技术在不增加显存开销的前提下,有效提升近距离纹理细节的渲染质量
unity·游戏引擎·贴图
魔士于安21 小时前
unity 低多边形 动物 带场景 有氛围感
游戏·unity·游戏引擎·贴图
小贺儿开发1 天前
Unity3D 摩斯与中文电码转换工具
科技·unity·人机交互·工具·实践·实用·科普应用
魔士于安1 天前
unity 动物包 大象 鹿 狐狸
游戏·unity·游戏引擎·贴图·模型