1、理解
在一些2D游戲開發(fā)中,我們常常使用2D Sprite把一張大圖切割成多個(gè)小圖使用。
這樣做有不少好處,首先,通過精準(zhǔn)使用小圖,能夠一定程度上節(jié)省內(nèi)存,提高渲染性能。
其次把同類的小圖做成一張大圖在切割使用會(huì)更方便我們進(jìn)行對(duì)資源的管理。
再者,在2D游戲中通過使用多圖放在大圖中做切割使用,在做Sprite幀動(dòng)畫、碰撞檢測(cè)、UI布局上會(huì)更靈活。
2、實(shí)現(xiàn)
(1)在【Package Manager】中搜索【2D Sprite】并安裝。
(2)在Assets/Resources路徑下導(dǎo)入大圖圖片素材:
?
?(3)修改大圖設(shè)置
其中,主要修改【Texture Type 】為【Sprite(2D and UI)】類型,【Sprite Mode】模式為【Multiple】模式,勾選可讀寫【Read/Write】選項(xiàng),點(diǎn)擊【Apply】應(yīng)用。
(4)點(diǎn)擊設(shè)置中的【Sprite Editor】,進(jìn)入切片頁面進(jìn)行相關(guān)配置與切片。
點(diǎn)擊【Slice】我們會(huì)看到下圖所示配置,【Type】為切割的類型,有圖中所示4種模式,一般使用第二個(gè)網(wǎng)格切割或第三個(gè)行列切割。
我這里使用第三種,并設(shè)置為2列一行,我們會(huì)看到圖中已通過紅框把圖片分成了2小塊。
點(diǎn)擊【Slice】->【Apply】切割-應(yīng)用。
我們會(huì)看到貼圖已經(jīng)切成兩塊并且在貼圖路徑下已生成兩個(gè)小圖【aa_0】和【aa_1】
?
(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中,如下圖:文章來源:http://www.zghlxwxcb.cn/news/detail-858175.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-858175.html
到了這里,關(guān)于Unity 如何通過2D Sprite切割一張圖為多張的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!