2017-07-22 74 views
0

因此,我對Unity非常陌生,並且創建了我的第一個2D遊戲,它將包含玩家,怪物,平臺和靜態背景圖像。Unity層不按我想要的那樣工作

所以我所做的是將2D精靈設置爲默認圖層上的背景圖像。我還從資產商店獲得了一位角色,我剛剛進入遊戲並設置爲用戶層8(玩家)。

平臺在地圖上隨機產生,並且一開始不能通過背景看到,但是當我將sprite命令設置爲1時,它們是可見的。

現在的怪物。他們也來自資產商店,但通過C#代碼插入遊戲。如果我在屏幕上有背景,即使我爲它們設置了GameObject.layer = 8(與玩家的圖層相同),它們仍然不可見。爲什麼?這裏有什麼問題。

在此先感謝。

回答

0

Unity有兩種類型的圖層,您要更改的圖層不是確定繪圖順序的圖層,您需要更改SpriteRenderer組件中的SortingLayer和OrderInLayer參數。 https://unity3d.com/learn/tutorials/topics/2d-game-creation/sorting-layers

如果你只使用精靈,那麼你可以保持它們在同一個SortingLayer中,並將背景的OrderInLayer更改爲-100。 如果您使用的是3D模型,您需要手動將物體的位置設置得更接近或遠離相機(並將所有的精靈保留在默認的SortingLayer上)。

+0

是的怪物沒有使用精靈,他們是與組件動畫,剛體,剛體,box collider2d和子對象或任何它與皮膚網格渲染器調用的「預製」(?)。 – David

+0

我還試圖添加一些環境對象,如樹和諸如網格過濾器,網格渲染器和網格碰撞器組件這樣的(也是預製件)。其中一部分通過背景可見。我沒有得到這個遺憾:/ – David

+1

我的猜測是用z值對它們進行排序,將視圖更改爲3D,並將背景遠離相機,並且預製件更靠近。我想你的相機設置爲正交,所以它不會影響投影。 – Reyn

相關問題