Unity 2D遊戲開發中關於UI層的設定

2022-04-19 11:36:06 字數 1087 閱讀 1332

首先我也是剛開始玩unity,還很缺經驗。

在學習製作《俄羅斯方塊》遊戲時,我需要在介面上顯示分數、時間,以及開始、結束遊戲等ui元素。

我們直接將ui元素新增完成時,會發現在scene中,ui介面相比於遊戲的視窗來說實在太大了。當然了,這樣不管它,最終也是可以顯示出ui元素的。

從圖下可以看到,在 canvas屬性中,有乙個render mode,預設值是  screen space - overlay,  這是什麼意思呢? 我們可以從手冊中查到,screenspaceoverlay表示「使用二維畫布渲染場景空間」,這樣的結果就是最終ui層會脫離遊戲世界的camera, 然後你會發現, 顯示效果可能不是你想要的,比如文字變得很大或者很小。

為了能在scene檢視中所見即所得的設計場景,我將canvas修改成了如下:

將 rendermode 改為了 screenspacecamera,也就是讓ui層在最終渲染時使用場景中配置的攝相機。然後將render camera 修改為我們場景中的攝像機, 這樣子就可以讓ui層與我們所控制的場景攝像機保持同步。

但是要注意,這個模式下,sorting layer為變為defauft,也就是和其它的遊戲物件預設同一層,這樣可能會存在,ui層被遊戲物件檔住的情況,所以我們edit layers, 在sorting layer中新增乙個ui層,放到最低下,讓它居於其它圖層之上。

然後我們可以再看到 canvas scaler (script) 屬性, 將 ui scale mode 修改為 scale with screen size,  意思是讓ui層隨螢幕大小縮放。

然後可以設定reference resolution中的x、y值為我們的遊戲最終要使用主流螢幕像索數,這樣子可以更好的所見即所得的設計出最終的顯示效果。可能你改完reference resolution後,發現文字什麼的變小了,沒關係,可以調節match來進行縮放。

通過上面的方法, 我終於可以隨心所欲的設計ui了。

Unity2D遊戲迴旋鏢實現

以下我舉出2種同使用情況的迴旋鏢 那麼迴旋鏢需要怎麼做呢?任務清單如下 迴旋鏢會自我旋轉 迴旋鏢達到一定距離會飛回來 迴旋鏢對敵人造成傷害 迴旋鏢會飛回玩家手裡 帶著這些任務我們來依次實現這兩種情況的迴旋鏢吧 1在2d平面遊戲上的迴旋鏢 實現乙個丟出迴旋鏢後,會緩慢減速,然後再直接收回手裡,碰到怪馬...

Unity2D開發學習筆記 二

先寫乙個playerinput2d類來獲取玩家得輸入,對於使用者的輸入可以分為兩種型別的訊號,一是永續性的訊號例如移動等長按型的訊號,還有種是像攻擊,跳躍這種瞬間型的訊號。public float horizon 因為是2d遊戲所以,通過這個浮點數的正負來決定角色的水平速度 public bool ...

Unity2D 渲染層級

渲染層級 camera 攝像機 depth 值越高物體越在上面 在同乙個camera中 sorting layer 越在下面的sorting layer 越在上面 例如 player 層物體顯示在default層物體的上面 最後 order in layer 誰的數值大,誰在上方 一般設計思路 第一...