关于Camera Culling Mask

如需转载,请保留本文链接。

参考文章链接:https://www.cnblogs.com/88999660/archive/2013/03/14/2959439.html

Unity版本:2017.1.0f

需求:人物死亡时,VR头盔黑屏,3秒后黑屏变淡,要能看到之前的游戏环境,黑屏完全消失后可继续游戏。

做法:使用unity的UGUI,利用不同相机的渲染层级不同,UI相机专门用来渲染黑屏动画。

重要提示:当cullingMask为Nothing时,值是0。 当cullingMask设置为everything时,值是-1。这时如果有层要关闭,就减去这个层的值。 比如第8层的值是 256。那关闭第8层后的值是 -257[-1-(1<<9)] 因为设置everything时的数值比较特别,和算法没关系。——摘自上文链接。

1.Canvas设置为:Camera模式,且在其下创建一个UI渲染使用相机,深度为1.(主相机默认深度为-1,欲在主相机前渲染,深度需大于主相机深度)

2.相机Clear Flags设置为:Skybox,Culling Mask设置为:UI,或者除了环境默认的Default之外的Mixed均可,如下图。

3.利用动画的播放时间进行判断,当播放完成一半时,渲染层级改为Everything,此时可以看到环境,代码如下:

public Camera camera;
    public Animator ani;
    public GameObject Canvas;
    private void Awake()
    {
    }
    private void Update()
    {
        if (ani !=null )
        {
            if (ani.GetCurrentAnimatorStateInfo(0).normalizedTime >= 0.5f)
            {
                camera.cullingMask = -1;
                Debug.Log("渲染层:" + camera.cullingMask);
            }
            if (ani.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1)
            {
                Canvas.SetActive(false);
            }
        }

    }

效果如下:分别为未播放状态——刚刚开始播放动画状态——动画播放一半状态——结束动画播放状态

时间: 2024-08-30 10:50:06

关于Camera Culling Mask的相关文章

Unity 摄像机Clear Flags和Culling Mask属性用途详解

原文地址:http://blog.csdn.net/tanmengwen/article/details/8798231 1.简述两个属性 1.1 Clear Flags 清除标记 每个相机在渲染时会存储颜色和深度信息.屏幕的未绘制部分是空的,默认情况下会显示天空盒.当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据.当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合.可以通过下面四个选项之一来完成: 1.Skybox

unity中的Culling Mask

摄像机按层渲染 Camera.cullingMask = 1<<x;//渲染x层 Camera.cullingMask = ~(1<<x);//渲染除去x的所有层 Camera.cullingMask &= ~(1<<x);//关闭层x Camera.cullingMask |= (1<<x);//打开层x Camera.cullingMask = (1<<x) + (1<<y) + (1<<z);//摄像机只显示

Unity Camera属性

Camera属性 1.Clear Flags 清除标记:决定屏幕的那部分将被清除.当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的. 2.Background 背景:在镜头中的所有元素描绘完成且没有天空盒的情况下,将选中的颜色应用到剩余的屏幕. 3.Culling Mask 取消遮罩:包含或忽略相机渲染对象层.在检视视图中为对象指派层. 4.Projection 投射:切换摄像机的模拟透视功能. (1) Perspective 透视:相机将用完全透视的方式来渲染对象. (2) Ortho

【Unity】2.8 相机(Camera)

分类:Unity.C#.VS2015 创建日期:2016-03-31 一.简介 Unity的相机用来向玩家呈现游戏世界.你在场景中始终至少有一个相机,但也可以有多个.多个相机可以带给您双人分屏效果或创建高级的自定义效果.您可以让相机动起来,或者用物理(组件)控制它们.您能想到的任何东西,几乎都可以通过相机变成可能,为了配合您的游戏风格,还可以使用典型或独特的相机. 相机 (Camera)是为玩家捕捉并展示世界的一种设备.通过自定义和操作相机,可以使您的游戏演示真正与众不同.您可以在一个场景中使用

[原]Unity3D深入浅出 - 摄像机组件(Camera)

在Unity中创建一个Caaera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags:清除标记:决定屏幕中哪部分被清除.一般用于多台摄像机来描绘不同对象的情况,有一下三种模式. Skybox:天空盒(默认项).在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色. Solid Color:如果没有设置天空盒,将默认显示此处设置的背景色. Depth only:

Camera &amp; Render

1.void Render(); Description Render the camera manually. This will render the camera. It will use the camera's clear flags, target texture and all other settings. The camera will send OnPreCull, OnPreRender & OnPostRender to any scripts attached, and

Unity UGUI - Canvas / Camera

1.Canvas: 1)Render Mode : Screen Space -Camera 2)Render Camera : UICamera(自己创建的相机) 3)Plane Distance : 0 2.Canvas Scaler: 1)Ui Scale Mode : Scale with screen size (宽度标准缩放) 2)Reference Resolutioin: 1920 * 1080   (屏幕分辨率) 3)Screen Match Mode: Expand (UGU

Unity3D 摄像机(Camera)

在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener4个组件 ClearFlags:清除标记:决定屏幕中哪部分被清除.一般用于多台摄像机来描绘不同对象的情况,有一下三种模式. Skybox:天空盒(默认项).在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色. Solid Color:如果没有设置天空盒,将默认显示此处设置的背景色. Depth only:仅深度,该模

Unity屏幕射线碰撞

Layers层: 从Layers设置看来,最多支持32层.  图层的值开始依次 0^2,1^2, 2^2, 3^3 依次增加. 当摄像机Culling Mask属性 Nothing= –1 Evening = 全部图层之和, 项目开始默认设置了7个图层. 值就是0^2,1^2, 2^2, 3^3 .. 6^2  = 279 如果我们选择Defulat图层,所在第0位置值 0^2 = 1 如果我们选择Defualt,Transparent,图层位置0,1 = 0^2+1^2 = 3 组合: 假设在