22.NGUI进阶-模型和粒子特效显示在UI之前
22.1 知识点
NGUI中显示3D模型
使用UI摄像机渲染3D模型
- 改变NGUI的整体层级为UI层
- 拖入预制体3D模型对象,改变其层级,调整3D模型缩放位置旋转等。因为UIRoot默认的缩放很小,所以一拖进来模型可能也回很小。
- 改变主摄像机和NGUI摄像机的渲染层级,注意主摄像机的渲染不要选择UI层,因为NGUI有自己的摄像机只渲染UI层,否则可能渲染多个模型。
- 注意3D模型的深度不会收到NGUI的深度影响,只和z轴有关。
使用多摄像机渲染
- 制作流程类似小地图制作思路。
- 创建一个RenderTexture。
- 创建一个摄像机,只渲染某一特定的层级,让主摄像机不渲染这一层级。
- 拖入3D模型,层级也改成那一特定的层级。
- 把刚刚创建的RenderTexture拖拽到摄像机的目标纹理上,可以看到RenderTexture的图片上是摄像机的渲染。
- NGUI下创建一个纹理图片,拖拽RenderTexture到纹理图片上,可以看到模型的显示,这一做的好处是可以设置不同层级摄像机渲染的模式,比如UI要正交3D模型要人眼近大远小。
NGUI中显示粒子特效
在UI层级创建一个粒子特效,会发现无论怎么移动都显示在UI后面。
让Panel和粒子特效处于一个排序层,比如都是Default。
在粒子特效的 Render参数中 设置自己的层级,调高就能显示在UI前面,也可以新加排序层,新加的排序层默认就在Default层前面。
22.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson22_NGUI进阶_模型和粒子特效显示在UI之前 : MonoBehaviour
{
void Start()
{
#region 知识点一 NGUI中显示3D模型
//方法一:
//使用UI摄像机渲染3D模型
//1.改变NGUI的整体层级 为 UI层
//2.改变主摄像机和NGUI摄像机的 渲染层级
//3.将想要被UI摄像机渲染的对象层级改为 UI层
//4.调整模型和UI控件的Z轴距离
//方法二:
//使用多摄像机渲染 Render Texture
#endregion
#region 知识点二 NGUI中显示粒子特效
//1.让Panel和粒子特效处于一个排序层
//2.在粒子特效的 Render参数中 设置自己的层级
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com