【发布时间】:2016-08-25 03:11:59
【问题描述】:
如何动态地将对象隐藏在统一 2D 中的其他对象后面?
示例:我的场景中有一个仙人掌资源,并且希望能够在仙人掌后面放置随机数量的收藏品,以便玩家可以看到这些收藏品。如果可能的话,我也希望能够确定可见度。
【问题讨论】:
-
您可以更改仙人掌和收藏品的深度值。或者你可以只更新 Z 值。
标签: unity5
如何动态地将对象隐藏在统一 2D 中的其他对象后面?
示例:我的场景中有一个仙人掌资源,并且希望能够在仙人掌后面放置随机数量的收藏品,以便玩家可以看到这些收藏品。如果可能的话,我也希望能够确定可见度。
【问题讨论】:
标签: unity5
如果您使用的是正交相机,则 z 轴值不会产生影响。正交相机没有任何深度感。您要操作的是精灵渲染器组件上的排序层属性。
【讨论】:
制作所有你想隐藏仙人掌孩子的物体。 我假设每个孩子都有一个精灵渲染器组件,因为您使用的是可见的 2d 对象。
精灵的顺序由“排序顺序”属性决定。所以这里有一段代码给所有其他对象一个较低的顺序,所以它们排在仙人掌后面。
SpriteRenderer[] renderers = GetComponentInChildren<SpriteRenderer> ();
for(int i =0 ; i< renderers.Length; i++){
renderers [i].sortingOrder = -1 * i;
}
此代码更改子级的顺序,但如果您想让它们不可见,请为每个子级使用 transform.enabled=false
【讨论】: