标签:
主要解决问题是面板里含有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的事件接收。
标签:
原文地址:http://www.cnblogs.com/hont/p/4658612.html