22.模型和粒子特效显示在UI之前

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

×

喜欢就点赞,疼爱就打赏