如何在unity3d中制作前面gui纹理中的3d对象

时间:2013-08-15 06:33:54

标签: c# user-interface camera unity3d

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

主摄像头深度为-1

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

如何在它前面制作3D物体?

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

你可以将一架飞机放在相机前面,然后将纹理放在飞机上,然后将三维物体放在飞机前面

检查this,这可能是您需要的

答案 2 :(得分:0)

你的场景中有两个摄像头。

Camera1:深度= 1的GUI图层。

Camera2:GUI上方的3D对象没有深度为2的GUI图层

同样为了您的方便,创建一个名称为3DGUI 的图层和设置图层蒙版您要在GUI上方显示的所有3D对象。

同样将Camera2的剔除遮罩设置为仅3DGUI。

您已完成解决方案。