设置3d对象总是使用“渲染队列”返回吗?

问题描述

添加了位置为(0,0,0)的立方体对象和位置为(0.5,0,-3)的球体对象。我添加了纹理和材料。

Settings

我想使用渲染队列或其他解决方案将球体移到所有其他对象的后面。

我已经将此脚本添加到了球体上。它不起作用:

using UnityEngine;
public class RenderQueueTest : MonoBehavIoUr
{
    public int renderQueuePosition = -1;
    void Start()
    {
        GetComponent<Renderer>().material.renderQueue = renderQueuePosition;
    }
}

我还试图在检查器中更改球体材质渲染队列。

球体材质的认渲染队列为:2000

我将其更改为:1999

不起作用。

以下是纹理:

Texture 1

Texture 2

解决方法

您可以做的是尝试将精灵自身移回,在检查器中将Transform position.y设置为-0.1或使用如下脚本进行操作:

using UnityEngine;

public class SendBackScrpt: MonoBehaviour
{
    private Vector3 sendBack = new Vector3(0,-0.1f,0);

    private void Start()
    {
       Vector3 prevPos = transform.position;
       transform.position = prevPos + sendBack;
    }
}

您还可以尝试将精灵放置在层次结构中的另一个之上。