gpt4 book ai didi

c# - 在 Unity 的 GUI 上方绘制 3D GameObject

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:17 26 4
gpt4 key购买 nike

我想在我的项目和 GUI 纹理中的所有其他组件前面绘制一个游戏对象。

我创建了第二个相机并设置了深度和图层,但它仍然不起作用。我希望你能帮助我找到错误或我忘记的东西。

这是我的 MainScript,它正在绘制一个简单的纹理:

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);
}
}

我还创建了两个相机和一个显示 GUI 纹理的游戏对象。纹理在预览屏幕中可见,但在运行时,在 MainScript 中绘制的纹理处于前景。

我又制作了两张我的相机对象的屏幕截图。看这里:

enter image description here

enter image description here

我也可以为您提供整个项目。这只是一个基本的测试项目。

这是 Google 云端硬盘中项目的链接:Download

最佳答案

设置camera2的深度为camera1.depth+1,Clear Flags of camera2为depth only,Clear Flags of camera1 to skybox。取消选中 Camera2 的 GUILayer 并选中 camera1 的 GUILayer。应该这样做...

enter image description here

enter image description here

enter image description here

关于c# - 在 Unity 的 GUI 上方绘制 3D GameObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com