我制作了背景图像并运行动画。问题是动画层位于背景图像后面。
怎么排序呢?
信息(见截图):
背景图像:z = 0(图片上的绿色),GUITexture
爆炸:z = -5(图片上的黄色),精灵渲染器
相机:z = -10
我尝试过反转数字,但仍然一样。我还尝试在背景图像上添加精灵组件,但排序层看起来仍然不起作用(可能使用了错误的方法)。
下面是屏幕截图。
仅供参考
那么,您通常可以做的第一件事就是更改 Z 轴。如果您使用 2D 正交相机,则不会产生精灵大小的差异。如果距离很短,您将尝试所谓的 Z 战斗。
但在这种情况下正确的方法是使用排序层 http://unity3d.com/learn/tutorials/modules/beginner/2d/sorting-layers以及图层属性中的顺序。你可以检查this http://docs.unity3d.com/Manual/class-SpriteRenderer.html我们的也是。
对于这个特殊情况
我假设您指的是静态背景,它始终存在,仍然存在。This http://answers.unity3d.com/questions/9729/how-can-i-display-a-flat-background-2d-image-not-a.html两个摄像头的方法很酷。
我不知道你在做什么类型的游戏,但大多数情况下静止的背景往往很无聊,如果你利用相机视角,你还可以通过将背景定位在不同的 Z 上来获得不错的视差效果:)
Z 格斗的黑客
我使用这个脚本来解决纹理之间的 Z 冲突。它会覆盖渲染队列。很hacky,但是很高效。您只需更改该值,然后首先渲染较高的值!
using UnityEngine;
using System.Collections;
public class OverrideRenderQueue : MonoBehaviour {
public int queueOrder = 3000;
void Start ()
{
renderer.material.renderQueue = queueOrder;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)