代码出自雨松MOMO的Blog。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIDepth : MonoBehaviour
{
public UIFllow UIFllow;//UI跟随物体移动,见前文
private int offset;//距离
public bool isUI = true;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update ()
{
offset = (int)UIFllow.offset;
depth(-offset);
}
void depth(int order)
{
if (isUI)
{
Canvas canvas = GetComponent<Canvas>();
if (canvas == null)
{
canvas = gameObject.AddComponent<Canvas>();
}
canvas.overrideSorting = true;
canvas.sortingOrder = order;
}
else
{
Renderer[] renders = GetComponentsInChildren<Renderer>();
foreach (Renderer render in renders)
{
render.sortingOrder = order;
}
}
}
}