【问题标题】:How can i make 3dObjects infront gui texture in unity3d我如何在unity3d的前gui纹理中制作3d对象
【发布时间】:2013-08-17 08:01:50
【问题描述】:
我通过在脚本中的 gui 函数中编写硬代码来创建 gui 纹理。
主摄像头深度为-1
void OnGUI() {
GUI.DrawTexture(new Rect(screenResolution.x - 25 * guiDiff, screenResolution.y - 310 * guiDiff, 15 * guiDiff, 300 * guiDiff), fullProgressBar);
}
如何在它面前制作 3D 物体?
【问题讨论】:
标签:
c#
user-interface
camera
unity3d
【解决方案1】:
我自己没有这样做,但你可以尝试使用两个摄像头。
第一个相机应该有GUILayer 组件,其绘制顺序较低(深度)。
第二个相机应该没有GUILayer 组件,并将其清除标志设置为“仅深度”,更高绘制顺序(深度)。
【解决方案2】:
你可以在相机前面放一个平面,然后把纹理放在平面上,然后把3d物体放在平面前面
检查this,这可能是你需要的
【解决方案3】:
在您的场景中有两个摄像头。
Camera1:深度为 1 的 GUI 层。
Camera2:没有深度为 2 的 GUI 层,用于 GUI 上方的 3D 对象。
另外,为了您的方便,创建一个名称为 3DGUI 的图层,并设置图层蒙版,以便在 GUI 上方显示所有 3D 对象。
还将 Camera2 的剔除遮罩设置为仅 3DGUI。
您已完成解决方案。