Unity2d组件 Sprite Renderer

时间:2024-03-29 21:54:14

一、问题

今天在研究Unity官方案例2D Roguelike时,遇到了一个问题:
在生成地板(Floor)和四周的围墙(OuterWall)后,再创建障碍物(Wall),则障碍物在地板的下面无法显示。
Unity2d组件 Sprite Renderer

二、解决方案

在地板和障碍物的Prefab时,用到了Sprite Renderer组件。需要添加Sorting Layers , Floors和Items。
Unity2d组件 Sprite Renderer
然后在地板(Floor)的Prefab选择Sorting Layer为Floor,
Unity2d组件 Sprite Renderer

障碍物(Wall)的Prefab选择Sorting Layer为Items。这样就可以显示障碍物了。
Unity2d组件 Sprite Renderer

Unity2d组件 Sprite Renderer

三、总结

不要混淆gameobject的layer,和renderer的sorting layer,gameObject的layer应该是逻辑上的分层,
而renderer的sorting layer则用于渲染。