2

我通过在脚本中的 gui 函数中编写硬代码来创建 gui 纹理。

主摄像头深度为-1

void OnGUI() {  
   GUI.DrawTexture(new Rect(screenResolution.x - 25 * guiDiff, screenResolution.y  - 310 * guiDiff, 15 * guiDiff, 300  * guiDiff), fullProgressBar);    
}

如何在它前面制作 3D 对象?

4

3 回答 3

0

Have two cameras on your scene.

Camera1 : GUI Layer with depth = 1.

Camera2 : No GUI Layer with depth 2 for 3D objects above GUI.

Also for your convenience, create a layer with a name 3DGUI and set layer mask of all 3D objects that you want to show above GUI.

Also set culling mask of Camera2 to only 3DGUI.

You are done with the solution.

于 2014-05-07T07:03:54.087 回答
0

我自己没有这样做,但你可以尝试使用两个相机。

第一个相机应该具有较低绘制顺序(深度)的GUILayer组件。

第二个相机应该没有GUILayer组件,并将其清除标志设置为“仅深度”,具有更高的绘制顺序(深度)。

于 2013-08-15T06:46:20.823 回答
0

你可以在相机前面放一个平面,然后把纹理放在平面上,然后把3d物体放在平面前面

看看这个,这可能是你需要的

于 2013-08-17T00:40:08.237 回答