Unity 如何通过2D Sprite切割一张图为多张

这篇具有很好参考价值的文章主要介绍了Unity 如何通过2D Sprite切割一张图为多张。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、理解

在一些2D游戏开发中,我们常常使用2D Sprite把一张大图切割成多个小图使用。

这样做有不少好处,首先,通过精准使用小图,能够一定程度上节省内存,提高渲染性能。

其次把同类的小图做成一张大图在切割使用会更方便我们进行对资源的管理。

再者,在2D游戏中通过使用多图放在大图中做切割使用,在做Sprite帧动画、碰撞检测、UI布局上会更灵活。

2、实现

(1)在【Package Manager】中搜索【2D Sprite】并安装。

2d sprite,unity,游戏引擎

(2)在Assets/Resources路径下导入大图图片素材:

 2d sprite,unity,游戏引擎

 (3)修改大图设置

2d sprite,unity,游戏引擎

其中,主要修改【Texture Type 】为【Sprite(2D and UI)】类型,【Sprite Mode】模式为【Multiple】模式,勾选可读写【Read/Write】选项,点击【Apply】应用。

(4)点击设置中的【Sprite Editor】,进入切片页面进行相关配置与切片。

2d sprite,unity,游戏引擎

2d sprite,unity,游戏引擎

点击【Slice】我们会看到下图所示配置,【Type】为切割的类型,有图中所示4种模式,一般使用第二个网格切割或第三个行列切割。

2d sprite,unity,游戏引擎

我这里使用第三种,并设置为2列一行,我们会看到图中已通过红框把图片分成了2小块。

2d sprite,unity,游戏引擎

点击【Slice】->【Apply】切割-应用。

2d sprite,unity,游戏引擎

我们会看到贴图已经切成两块并且在贴图路径下已生成两个小图【aa_0】和【aa_1】

2d sprite,unity,游戏引擎 

(5)获取小图的方法。

 获取小图的方法是:Resources.LoadAll<Sprite>(string path);

如本案例通过上面方法获取切割出的精灵赋值给不同的Image中:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class spriteCon : MonoBehaviour
{
    public Image img1;
    public Image img2;

    // Start is called before the first frame update
    void Start()
    {
        Sprite[] Sprs = Resources.LoadAll<Sprite>("aa");
        img1.sprite = Sprs[0];
        img2.sprite = Sprs[1];
        img1.SetNativeSize();
        img2.SetNativeSize();
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

最终我们看到成功获得切割小图并赋值到Image中,如下图:

2d sprite,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-858175.html

到了这里,关于Unity 如何通过2D Sprite切割一张图为多张的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity切割图片:把一张图片中的物体裁成多个单独的游戏物体

    首先选中需要切割的图片素材,将Inspector面板中的 Sprite Mode 由默认的 Single改为Multiple ; 然后点击 Sprite Editor ; 第一步之后便会弹出下例面板,然后 点击Slice菜单 ,继续点击,便 会自动被分割好 ,最后 点击右上角的Apply 。 点击Apply后在右下角会弹出一个小的面板,你可以

    2024年02月05日
    浏览(40)
  • chatgpt赋能python:Python如何在一张图上画多条折线

    Python是一种重要的编程语言,逐渐成为数据科学和数据分析领域的神器。在数据可视化方面,Python有一些很好的库,如matplotlib、Seaborn和ggplot等。其中,matplotlib是Python中最著名、最广泛使用的一个数据可视化库,因为它能够生成各种类型的图表,包括条形图、折线图、散点图

    2024年02月12日
    浏览(53)
  • 小米、华为、iPhone、OPPO、vivo如何在手机让几张图拼成一张?

    现在很多手机自带的相册APP已经有这个拼图功能了。 打开图库,选定需要拼图的几张图片后,点击底部的【创作】,然后选择【拼图】就可以将多张图片按照自己想要的位置,组合在一起。 打开相册,选定几张图片,底下就有拼图按钮。 选择“模板”就是按照对应的比例把

    2024年02月07日
    浏览(54)
  • Unity2D Sprite尺寸与UI在场景视图和游戏视图显示不一致问题解决方案

    在Unity3D中,当开发2D游戏时,经常会遇到Sprite尺寸与UI在场景视图和游戏视图中显示不一致的问题。这个问题可能导致UI元素变形或者在不同分辨率的设备上显示不正确。本文将为您提供解决这个问题的方法,并附带相应的源代码。 问题分析: Sprite是2D游戏中最常用的图像资

    2024年02月05日
    浏览(80)
  • 在Unity中简单地制作一张2D地图并随机生成资源

    这个作业属于哪个课程 软件工程2022年春-F班 这个作业要求在哪里 软件工程实践总结个人技术博客 这个作业的目标 课程回顾、个人技术总结 其他参考文献 《构建之法》 1.1 技术使用场景   你不满足于别人提供的现成的地图,想要利用原有的素材来将你自己的想法实现吗?

    2023年04月08日
    浏览(43)
  • 财务思维一张图

    系统研读了《肖星的财务思维课》和得到《贾宁·财务思维课》,尝试用一张最简单的图总结财务思维所学到精髓吧。 《肖星的财务思维课》 得到《贾宁·财务思维课》 附: 【清华大学】最好的财务课《商业的财务逻辑》(全7课)肖星教授 【清华大学】最好的财务课《商业

    2024年01月19日
    浏览(55)
  • 一张图学会python递归函数

    递归函数属于那种“难者不会,会者不难”的事情,回想自己大学时学习递归函数的经历,简直是痛不欲生,代码里没有一行是看不懂的,但就是理解不了它是怎样运行的。 等到自己悟通了原理,就又会觉得这东西太简单了,不明白自己当初为何想不清楚。 对于递归函数,

    2023年04月09日
    浏览(38)
  • 【Linux】一张图了解系统文件

    首先先认识磁盘结构 系统文件分布图 文件查找 文件删除 文件的增删改查都是围绕 inode 来完成的,所以当我们要进行文件删除的时候,只需要通过 inode 来获取到它对应的 block bitmap 和 inode bitmap 数据块容器和保存文件属性的位置置为 0即可 ,如果想要恢复,通过一定的方法设

    2024年02月11日
    浏览(49)
  • 一张图搞懂微服务架构设计

    当前,微服务架构在很多公司都已经落地实施了,下面用一张图简要概述下微服务架构设计中常用组件。不能说已经使用微服务好几年了,结果对微服务架构没有一个整体的认知,一个只懂搬砖的程序员不是一个好码农! 在上图中可以看到,Nginx作为整个架构的流量入口,可以

    2023年04月17日
    浏览(52)
  • 一张图快速了解 Istio 的 EnvoyFilter

    EnvoyFilter 提供了一种机制来定制 Istio Pilot 生成的 Envoy 配置。使用 EnvoyFilter 修改某些字段的值,添加特定的过滤器,甚至添加全新的侦听器、集群等等。 这个功能必须谨慎使用,因为不正确的配置可能会破坏整个网格的稳定性。与其他 Istio 网络对象不同,EnvoyFilter 是叠加应

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包