创建保存Texture

  • new Texture2D(spriteSize,spriteSize):生成一张Texture2D纹理;
  • Texture2D.SetPixel(pixelX,pixelY,Color):按像素设置Texture2D纹理的色值;
  • Texture2D.Apply():应用任何先前的SetPixel和SetPixels更改;
  • Texture2D.EncodeToPNG():将Texture2D纹理转为二进制数据,用于保存到本地;
  • 使用FileStream读写文件流,将Texture2D的二进制数据保存为png。

创建保存Texture:

    private void CreateSampleSprite(){int minRadius = 64;int maxRadius = 128;//图片尺寸int spriteSize = maxRadius * 2;//创建Texture2DTexture2D texture2D = new Texture2D(spriteSize,spriteSize);//图片中心像素点坐标Vector2 centerPixel = new Vector2(maxRadius,maxRadius);//遍历像素点Vector2 tempPixel;float tempDis;for(int x = 0; x < spriteSize; x++){for(int y = 0; y < spriteSize; y++){//以中心作为起点,获取像素点向量tempPixel.x = x - centerPixel.x;tempPixel.y = y - centerPixel.y;//是否在半径范围内tempDis = tempPixel.magnitude;if(tempDis >= minRadius && tempDis <= maxRadius)texture2D.SetPixel(x,y,Color.red);elsetexture2D.SetPixel(x,y,Color.white);}}texture2D.Apply();//保存图片byte[] dataBytes = texture2D.EncodeToPNG();string savePath = Application.dataPath + "/SampleCircle.png";FileStream fileStream = File.Open(savePath,FileMode.OpenOrCreate);fileStream.Write(dataBytes,0,dataBytes.Length);fileStream.Close();UnityEditor.AssetDatabase.SaveAssets();UnityEditor.AssetDatabase.Refresh();}

创建保存Mesh

  • 创建网格数据:顶点和三角面,赋值到Mesh;
  • AssetDatabase.CreateAsset(),将Mesh文件保存到本地,存为asset格式。

关于创建网格:

  • Vector3[] vertices:用于存放顶点数据,元素是三维坐标,固定顺序;
  • int[] triangles:用于存放三角面数据,元素是顶点下标(vertices中坐标的下标),固定顺序,每三个下标一组,逆时针方向围成一个三角面;

伪代码:
vertices = new Vector3[3];
vertices[0] = 坐标0;
vertices[1] = 坐标1;
vertices[2] = 坐标2;
triangles = new int[3];
triangles[0] = 0;
triangles[1] = 1;
triangles[2] = 3;

创建保存Mesh:

    private void CreateSampleMesh(){float halfWidth = 50;float halfHeight = 50;Vector3[] vertices = new Vector3[4];vertices[0] = new Vector3(-halfWidth,0,-halfHeight);vertices[1] = new Vector3(-halfWidth,0,halfHeight);vertices[2] = new Vector3(halfWidth,0,halfHeight);vertices[3] = new Vector3(halfWidth,0,-halfHeight);int[] triangles = new int[6];triangles[0] = 0;triangles[1] = 1;triangles[2] = 3;triangles[3] = 3;triangles[4] = 1;triangles[5] = 2;Mesh newMesh = new Mesh();newMesh.vertices = vertices;newMesh.triangles = triangles;newMesh.name = "SampleMesh";string savePath = "Assets/SampleMesh.asset";UnityEditor.AssetDatabase.CreateAsset(newMesh,savePath);UnityEditor.AssetDatabase.SaveAssets();UnityEditor.AssetDatabase.Refresh();}

【UnityEditor】创建并保存 Texture图片、Mesh网格相关推荐

  1. Unity编辑器扩展-生成prefab的预览图并保存为图片

    Project视图里的prefab文件都是一个蓝色的正方体,我想给它们加个预览图,暂时不知道怎么改Project视图的,但反正我想像NGUI那样有个专门的窗口存放一些常用的prefab,所以做成了如下 ...

  2. Unity 通过Mesh网格渲染绘制图形与字体

    任何一个模型都是由若干网格面组成,而每一个面又有若干个三角形组成,也就是说,模型是由若干个三角形面组成的:(字体和图片也是如此) 组成简单模型的组件需要包含以下几个: MeshImage脚本代码如下: ...

  3. 对相机所看的视角截屏保存为图片

    对相机所看的视角截屏保存为图片: 1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 /// < ...

  4. mnist数据集保存为图片

    #coding: utf-8 from tensorflow.examples.tutorials.mnist import input_data import scipy.misc import o ...

  5. php文章远程图片,php保存远程图片到本地 php正则匹配文章中的远程图片地址

    在添加文章的时候,很多情况下我们需要处理文章中的远程图片,将其保存到本地,以免别人网站删除后文章里面就无法访问了. 因此我们需要正则匹配文章中的图片地址, 这里我们使用php的正则表达式来实现:$co ...

  6. JS实现Echarts的图表保存为图片功能

    文章目录 需求分析 开发准备 实现思路 效果图 参考链接 需求分析 实际项目开发过程中经常会有图表展示功能,同时为了满足用户需要,会附带着图表导出功能,主要形式就是保存为图片.在Echarts中本身就 ...

  7. 怎么把动态图从python弄下来_Python将视频或者动态图gif逐帧保存为图片的方法

    本文是基于opencv将视频和动态图gif保存为图像帧.可以根据输入视频格式的不同,修改第21行. 对动图的处理不同于视频,PIL库包含对图像序列的基本支持.当打开gif图像时,自动加载第一帧.当图像 ...

  8. BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 用于缩放bitmap以及将bitmap保存成图片到SD卡中 效果图 代码分析 bitmapZoomByHeight(Bitmap s ...

  9. 保存课程图片-服务端开发

    保存课程图片 需求分析 图片上传到文件系统后,其它子系统如果想使用图片可以引用图片的地址,课程管理模块使用图片的方式是将图片地址保存到课程数据库中. 业务流程如下: 1.上传图片到文件系统服务 2.保 ...

  10. 远程图片保存到服务器 php,保存远程图片到本地服务器几种方法[php,asp]网

    保存远程图片到本地服务器几种方法[,] function get_file($url,$folder){ set_time_limit (24 * 60 * 60); $destination_fol ...

最新文章

  1. matlab regstats()
  2. golang逃逸分析
  3. pytorch C++部署模型 ONNX tensorRT
  4. Codeforce1311B. WeirdSort (冒泡排序)
  5. python操作界面_Python使用PyQt5的Designer工具创建UI界面
  6. CMake常用命令整理
  7. logistic公式形式的由来,从广义线性回归说起
  8. 2020年入门数据分析选择Python还是SQL?七个常用操作对比!
  9. 数据接口请求异常:parerror_什么是接口的幂等性,如何实现接口幂等性?
  10. 如何利用Mac电脑制作让你脱颖而出的简历
  11. linux在VM下分辨率的问题
  12. JPA和 QueryDSL入门
  13. html转义字符 am,html转义字符如何通过代码识别方法
  14. React 360 全景VR交互项目实战
  15. 微信小程序使用本地背景图无法渲染的解决办法
  16. zabbix_sender用法实例
  17. pytorch学习之如何画损失函数曲线图
  18. python 获取屏幕颜色_Python3 获取手机屏幕指定坐标点的 RGBA 和 16 进制颜色
  19. 爬虫:爬取以太坊区块链浏览器数据
  20. Scrapy新手入门

热门文章

  1. 我国挪动互联网全球比赛占先机
  2. html5手机 网站,手机网站H5开发必备
  3. 林业调查资质线上申报教学
  4. C++中奇奇怪怪的函数
  5. Java知识复习(二十)计算机网络
  6. esclipse的常用快捷键
  7. Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤
  8. Web前端开发——HTML基础、格式化文本与段落
  9. jquery实现无缝图片滚动
  10. Jmeter基础入门教程【23】--常用功能详解:断言持续时间