码迷,mamicode.com
首页 > 其他好文 > 详细

NGUI 2DCamera和3DCamera共存的解决方案

时间:2015-07-19 14:50:19      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

主要解决问题是面板里含有3D模型,如果只有1个正交相机,3D模型的显示质量会很差。如果只用透视相机,UI会变形

NGUI官方的例子是使用2个UI Root,并且再创建一个Camera,把模型渲染到面片上。但这样有点复杂,也不适合一个面板一个prefab的形式

 

解决方法是只使用一个UI Root,UIRoot层级下包含2个Camera,Camera2D和Camera3D。3D相机的渲染深度比2D相机低一级。

分别用NGUI,NGUI3D两个层来标示渲染的物体。

这时可以把3D模型赋予NGUI 3D层,NGUI组件还是NGUI层。可以实现基本的2D,3D混合渲染

如果需要3D UI,可以全部赋予3D层

 

NGUI有个问题,对于UI Sprite,UI Texture这些基本组件,一个Panel下只能有一个层,即全部是NGUI或者NGUI 3D Layer的物体。如果赋予2种不同的会自动修复。

所以3D的 Sprite和2D的Sprite想共存实现不了,如果要实现必须放在不同的panel下面。就是需要改层级,会很麻烦。

但需要的情况比较少,而且有时候也可以用Cube,Quad赋材质来代替。

 

这种方法对于层叠的UI同样没有问题。3D模型就是纯显示,不参与UI的事件接收。

NGUI 2DCamera和3DCamera共存的解决方案

标签:

原文地址:http://www.cnblogs.com/hont/p/4658612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!