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

news/2024/11/25 9:10:55/

实现原理:

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

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

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

代码:

    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);

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


http://www.ppmy.cn/news/1549777.html

相关文章

Vscode进行Java开发环境搭建

Vscode进行Java开发环境搭建 搭建Java开发环境(Windows)1.Jdk安装2.VsCode安装3.Java插件4.安装 Spring 插件5.安装 Mybatis 插件5.安装Maven环境6.Jrebel插件7.IntelliJ IDEA Keybindings8. 收尾 VS Code&#xff08;Visual Studio Code&#xff09;是由微软开发的一款免费、开…

【c++篇】:探秘红黑树平衡旋转原理--维持树的高度平衡之道

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;c篇–CSDN博客 文章目录 前言一.红黑树的概念和性质定义和性质节点结构与表示 二.模拟实现基…

七天掌握SQL--->第四天:事务处理与并发控制

# 7天掌握SQL - 第四天&#xff1a;事务处理与并发控制 ## 目标 - 学习事务处理的基本概念&#xff0c;如ACID特性。 - 掌握并发控制的方法&#xff0c;如锁机制、事务隔离级别等。 - 通过实际案例练习事务处理和并发控制。 ## 1. 事务处理的基本概念 事务处理是数据库管理系…

鸿蒙主流路由详解

鸿蒙主流路由详解 Navigation Navigation更适合于一次开发,多端部署,也是官方主流推荐的一种路由控制方式,但是,使用起来入侵耦合度高,所以,一般会使用HMRouter,这也是官方主流推荐的路由 Navigation官网地址 个人源码地址 路由跳转 第一步-定义路由栈 Provide(PageInfo) pag…

idea添加版权信息

1、添加Copyright Profiles 打开Settings -> Editor -> Copyright -> Copyright Profiles -> 新增 Copyright (c) 【你的版权信息】 【开始年份】-${today.year}. All rights reserved.如&#xff1a; Copyright (c) by cwp 2024-${today.year}. All rights rese…

Zero-Shot Next-Item Recommendation using Large Pretrained Language Models-问题咨询

问题背景&#xff1a; 我正在尝试复现一篇名为 “Zero-Shot Next-Item Recommendation using Large Pretrained Language Models” 的论文中的实验结果。 遇到的问题&#xff1a; 缺少关键代码&#xff1a; 我发现论文代码库中没有提供计算 HR10 和 NDCG10 这两个关键指标的…

JavaWeb后端开发知识储备2

目录 1.HttpClient 2.微信小程序开发 3.Spring Cache 1.HttpClient 简单来说&#xff0c;HttpClient可以通过编码的方式在Java中发送Http请求 2.微信小程序开发 微信小程序的开发本质上是前端开发&#xff0c;对于后端程序员来说了解即可 3.Spring Cache Spring Cache 是…

Spring Boot 3.3高级日志配置详解:从 Logback 到 Log4j 2 的全面掌握

Spring Boot 3.3 对日志系统进行了一些更新和改进&#xff0c;特别是在对 Logback 和 Log4j 2 的支持上。以下是从 Logback 切换到 Log4j 2 的一些高级配置详解&#xff1a; 1. 依赖管理 首先&#xff0c;你需要在项目的 pom.xml 或 build.gradle 文件中包含正确的依赖。 对…