博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3D MainCamera和NGUI UICamera的小插曲
阅读量:7241 次
发布时间:2019-06-29

本文共 722 字,大约阅读时间需要 2 分钟。

集成NGUI

在实际的项目中,经常会使用NGUI来制作UI,用Main Camera来表现3D,但是NGUI的Camer的投射是正交视图而非透视,它绑定UICamer的脚本而且它的Tag默认是Untagged

UICamera(UI相机)

 

MainCamera(主相机)

 

遇到的问题

搭建完场景之后运行,在Game视图只有NGUI的渲染,而Main Camer渲染的完全看不到,调Layer及Culling Mask都是没有出现Main Camera的渲染

 

解决方法

1. 修改两个camera的clear flags为depth only

2.设置UICamera.depth>MainCamera.depth

 

对比两个Camera的异同,刚开始没看清楚UICamera的Clear Flags是Skybox

想了想之后,Unity手册上有讲解Camera.Clear Flags的作用。

Clear Flags

Clear Flags 确定了屏幕哪些部分将被清除,这是为了方便使用多个摄像机渲染不同的游戏元素,每个相机在渲染时都会存储颜色和深度信息。

屏幕的未绘制部分是空的,默认情况下会显示天空盒。

当你使用多个相机时,每一个相机都将自己的颜色和深度信息存储在缓冲区中,还将积累每个相机大量的的渲染数据。当场景中任何特定的相机进行渲染时,你可以设定清除标记来清除缓冲区信息的不同集合

camera.clear flags=Solid Color (纯色)表示屏幕上的任何空的部分将显示当前相机的背景颜色。

资料参考:

 

文档资料

 

转载于:https://www.cnblogs.com/zhaoqingqing/p/3322737.html

你可能感兴趣的文章
从内而外
查看>>
Unity 一个简单的鼠标跟随
查看>>
vim下go开发配置
查看>>
JVM中的堆与栈的异同点.
查看>>
树莓派raspberry pi配置
查看>>
dnn安全控制类库过滤html、js、sql等防范xss攻击及sql攻击
查看>>
2-angular.bootstrap
查看>>
浅谈PHP数据结构之栈
查看>>
Moving Tables-贪心
查看>>
POJ1258 Agri-Net MST最小生成树题解
查看>>
记事本中写c/c++程序在Windows下运行
查看>>
js实现阶乘
查看>>
.net 程序集
查看>>
table font size LaTex
查看>>
IOS UI 01 课堂笔记 -label
查看>>
mootools_Number的内容
查看>>
Hibernate 性能优化之懒加载
查看>>
flask_sqlalchemy
查看>>
采用tcp协议和UDP协议实现简单的聊天功能
查看>>
文件下载的ie11兼容性优化
查看>>