Я хотел бы нарисовать GameObject перед всеми остальными компонентами в моем проекте и графическом интерфейсе.Draw 3D GameObject выше GUI в Unity
Я создал вторую камеру и установил глубину и слой, но он все еще не работает. Надеюсь, вы можете помочь мне найти ошибку или что-то, что я забыл.
Вот мой скрипт, который рисует простую текстуру:
using UnityEngine;
using System.Collections;
public class MainScript : MonoBehaviour
{
Texture2D texture;
// Use this for initialization
void Start()
{
texture = new Texture2D(Screen.width, Screen.height);
for (int y = 0; y < texture.height; y++)
{
for (int x = 0; x < texture.width; x++)
{
texture.SetPixel(x, y, Color.blue);
}
}
texture.Apply();
}
void OnGUI()
{
GUI.DrawTexture(new Rect(0, 0, texture.width, texture.height), texture);
}
}
Я также создал две камеры и GameObject, который отображает GUI Texture. Текстура видна на экране предварительного просмотра, но во время выполнения текстура, которая рисует MainScript, находится на переднем плане.
Я сделал еще два скриншота из моих объектов камеры. Смотрите здесь:
Я также могу поставить весь проект для вас. Это всего лишь базовый тестовый проект.
Вот ссылка на проект в Google Drive: Download
Прежде всего, спасибо за ваш ответ. Теперь он работает в моем проекте в зависимости от настроек, которые вы мне рассказывали. В моем случае, я хотел бы иметь 3D-объекты над GUITextures, которые я рисую в своих C# -Scripts. Возможно ли это также? Там я все еще застрял. В противном случае я буду использовать ваше решение, но было бы сложно реализовать это в ретроспективе. –
Я понятия не имею, что именно вы хотите. К сожалению, у меня более старая версия, чем у вас, и я работаю над Mac, поэтому я не могу импортировать ваш проект. –