一、2D相關
1、圖片導入相關設置
(1)Unity支持的圖片格式
支持BMP、TIF、JPG、PNG、TGA、PSD
常用格式具體介紹:
JPG:指JPGE格式,屬于有損壓縮格式,無透明通道
PNG:無損壓縮格式,有透明通道
TGA:支持壓縮,使用不失真的壓縮算法,體積小、效果清晰,有透明通道
(2)圖片設置的6大部分
①紋理類型
Default:默認紋理,大部分導入的模型貼圖都是該類型
Normal map:法線貼圖格式
Editor GUI and Legacy GUI:一般在編輯器中或者GUI上使用的紋理
Sprite(2D and UI):2D游戲或者UGUI中使用的格式
Cursor:自定義光標
Cookie:光源剪影格式
Lightmap:光照貼圖格式
Single Channel:紋理只需要單通道的格式
②紋理形狀
③高級設置
MipMap:開啟MipMap功能后,Unity會幫助我們根據圖片信息生成n張不同分辨率的圖片,在場景中會根據我們離該模型的距離選擇合適尺寸的圖片用于渲染,提升渲染效率。
④平鋪拉伸
⑤平臺設置
Max Size:設置導入的紋理的最大尺寸,即使美術出的很大的圖,也可以通過這里把它們限制在一定范圍內
Resize Algorithm:當紋理尺寸大于指定的Max Size時,使用的縮小算法
Format:紋理格式,各平臺支持的格式有所不同,如果選擇Automatic,會根據平臺使用默認設置
Compression:選擇紋理的壓縮類型,幫助Unity正確選擇壓縮格式會根據平臺和壓縮格式的可用性進行壓縮
Use Crunch Compression:啟用后,使用Crunch壓縮。Crunch是一種基于DXT或ETC紋理壓縮的有損壓縮格式。壓縮時間長,解壓速度快。
Split Alpha Channel:Alpha通道分離,節約內存。會把一張圖分成兩張紋理。一張包含RGB數據,一張包含Alpha數據,在渲染時再合并渲染。
Override ETC2 fallback:不支持ETC2壓縮的設備上,使用的格式
⑥圖片預覽窗口
2、Sprite
(1)SpriteEditor
(i)Single圖片編輯
(ii)Multiple圖集元素分割
(iii)Polygon多邊形編輯
用于多邊形的圖片,較少使用
(2)SpriteRender
(3)Sprite Creator
介紹:Sprite Creator主要的作用是創造出各種多邊形,替代暫未完成的美術資源,先做好功能邏輯,等美術資源完成后直接進行替代即可。
使用:直接在Assets右鍵選擇Sprites進行不同多邊形的創建。
(4)Sprite Mask(只顯示圖片的部分內容)
(5)Sorting Group
介紹:SortingGroup是排序分組的意思,主要作用是對多個精靈圖片進行分組排序,Unity會將同一個排序組中的精靈圖片一起排序,類似于單個游戲對象,主要作用是對于需要分層的2D游戲用于整體排序。
使用:直接添加對應組件
(6)Sprite Atlas 精靈圖集制作
(i)開啟打圖集
代碼加載打圖集后中的某個sprite
GameObject gameObject = new GameObject();SpriteRenderer sprite = gameObject.AddComponent<SpriteRenderer>();//加載圖集SpriteAtlas spriteAtlas = Resources.Load<SpriteAtlas>("MySpriteAtlas");//加載圖集中的圖片sprite.sprite = spriteAtlas.GetSprite("sprite1");
注意點:通過圖集中的圖片如果穿插使用,可能會增加drawcall次數
3、2D物理系統
(1)剛體
(i)組件參數介紹
(ii)剛體類型選擇
Dynamic:受力的作用,要動要碰撞的對象
Kinematic:通過剛體api移動的對象,不受力的作用,但是要進行碰撞檢測
Static:不動不受力的作用,但是要進行碰撞檢測
(iii)剛體api調用
Rigidbody2D rigid=this.GetComponent<Rigidbody2D>();
//加力
rigid.AddForce(new Vector2(0,100));
//速度
rigid.velocity=new Vect2(1,0);
(2)碰撞器
(i)六大碰撞器類型
(3)物理材質
(i)介紹
物理材質是用于決定在物體產生碰撞時這些物體之間的摩擦和彈性表現的,通過物理材質我們可以做出類似斜坡不滑落,小球反彈等效果
(ii)相關參數
(4)恒定力
(i)介紹
恒定力是一個特殊的腳本,可以給一個2D剛體持續添加一個力,在做一些隨著時間推移而加速的對象時很適用,例如火箭發射效果等,恒定力腳本會線性的為對象添加力和扭矩力 讓其移動和旋轉。
(ii)相關參數
(5)效應器
(i)介紹
2D效應器是配合2D碰撞器一起使用
可以讓游戲對象在相互接觸時產生一些特殊的物理作用
通過2D效應器可以快捷實現:傳送 互斥 吸引 漂浮 單項碰撞等效果
(ii)不同種類2D效應器的使用
區域效應器:
浮力效應器:
點效應器:
平臺效應器:
表面效應器:
4、SpriteShape
(1)作用
以節約美術資源為前提,制作2D游戲場景地形或背景
在PackageManger中可以導入包以及一些示例
(2)Sprite Shape Profile概述文件參數
(3)Sprite Shape Renderer 精靈形狀渲染器
(4)Sprite Shape Controller 精靈形狀控制器
(5)生成碰撞器
(i)使用邊界碰撞器,根據形狀自動生成(推薦)
(ii)使用多邊形碰撞器配合復合碰撞器
5、Tilemap 瓦片地圖
(1)介紹
作用:用于快速編輯2D游戲中的場景,復用資源提升地圖多樣性
工作原理:用小圖排列組合為一張大地圖
與SpriteShape的異同:
共同點:用于制作2D場景或地圖
不同點:SpriteShape可以讓地圖有弧度,Tilemap不行;Tilemap可以快捷制作有偽“z”軸的地圖,SpriteShape不行
使用方式:通過Package Manger安裝使用
(2)創建瓦片資源
(3)瓦片調色板窗口使用
(i)創建相關參數
(ii)操作技巧
(iii)面板相關
(iv)不同類型瓦片使用總結
矩形瓦片:適用于橫版游戲地圖
六邊形瓦片:適用于策略游戲地圖
等距瓦片:適用于做有“z”軸的2D游戲(理解不夠完全)
(4)瓦片地圖關鍵腳本介紹和碰撞器了解
(5)官方擴展包使用
(i)介紹
擴展包下載地址:https://github.com/Unity-Technologies/2d-extras
擴展包作用:添加新的瓦片類型和筆刷類型,更加方便編輯2D場景
(ii)新增瓦片類型
規則瓦片:
動畫瓦片:
管道瓦片:
隨機瓦片:
地形瓦片:
(iii)新增筆刷類型
新建自定義預設筆刷
擴展畫筆