当前位置: 首页 > article >正文

Unity 加载本地或网络图片并转为精灵(Sprite)的方法

有时候我们需要把加载的图片转换成Sprite来使用。

方法:

步骤一:加载本地或网络图片并转换成Texture,这里不再赘述,可参考:

Unity 加载本地图片的方法-CSDN博客

Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法-CSDN博客

 步骤二:把Texture转换成Sprite。

方法是使用:Sprite.Create()方法。

该方法有以下六种语法:

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot); 

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit);

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude);

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType);

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot,float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border);

​​​​​​​public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border, bool generateFallbackPhysicsShape);

其中,texture,要转换的纹理对象;

rect,指定纹理中要使用的矩形区域;

pivot,Sprite中心点,默认值(0.5,0.5),即纹理中心点;

pixelsPerUnit,每个单位的像素数,默认值100.0f,表示1个Unty单位对应100个像素;

extrude,扩展纹理边缘的像素数,默认值为0,表示不进行扩展;

meshType,Sprite的网格类型,默认值为SpriteMeshType.Tight,表示使用紧密的网格;

 border,定义Sprite九宫格边框的向量,默认值是(0,0,0,0),表示没有边框;

generateFallbackPhysicsShape,指定是否生成回退的物理形状。

具体使用哪种语法,可根据需要使用。

如通过纹理和区域和中心点转换Sprite对象:

     public Texture2D texture; // 纹理对象

     // 转换Sprite
     Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));


http://www.kler.cn/a/159942.html

相关文章:

  • 解锁微前端的优秀库
  • STM32问题集
  • Scala学习记录,case class,迭代器
  • 建筑施工特种作业人员安全生产知识试题
  • C获取程序名称的方法
  • C# 委托与匿名方法
  • java WebSocket带参数处理使用
  • 逆向爬虫进阶实战:突破反爬虫机制,实现数据抓取
  • UEC++ 探索虚幻5笔记(捡金币案例) day12
  • Webgis学习总结
  • 数据增强改进,实现检测目标copypaste,增加目标数据量,提升精度
  • 安全行业招聘信息汇总
  • 浅谈Elasticsearch安全和权限管理
  • Ubuntu下应用软件安装
  • c语言函数与指针
  • Redis 入门、基础。(五种基本类型使用场景)
  • 8、Broker进一步了解
  • OracleRac跨网段修改Public IP/VIP/Private IP/Scan IP
  • c语言经典题目
  • Distilling the Knowledge in a Neural Network(2015.5)(d补)
  • ElasticSearch篇---第三篇
  • Leetcode—383.赎金信【简单】
  • Spring Cloud Gateway与spring-cloud-circuitbreaker集成与理解
  • 【IC前端虚拟项目】git和svn项目托管平台的简单使用说明
  • LeetCode Hot100 200.岛屿数量
  • Hadoop学习笔记(HDP)-Part.03 资源规划