如何动态地将对象隐藏在统一2D中的其他对象后面?
示例:我的场景中有一个仙人掌资源,希望能够在仙人掌后面放置一个随机数量的收藏品,以便玩家可以看到收藏品。如果可能的话,我也希望能够确定可见度。
答案 0 :(得分:1)
如果您正在使用正交相机,则z轴值不会产生影响。正交相机没有任何深度感。你想要操作的是sprite渲染器组件上的排序层属性。
答案 1 :(得分:0)
制作你想隐藏仙人掌子的所有物品。 我假设每个孩子都有一个精灵渲染器组件,因为你正在使用可见的2d对象。
精灵的顺序由“排序顺序”属性确定。所以这里有一段代码,它给所有其他对象一个较低的顺序,所以它们会在仙人掌后面。
SpriteRenderer[] renderers = GetComponentInChildren<SpriteRenderer> ();
for(int i =0 ; i< renderers.Length; i++){
renderers [i].sortingOrder = -1 * i;
}
此代码更改了子项的顺序,但是如果要使它们不可见,请为每个子项使用transform.enabled = false