UNITY3D 知识积累

本文介绍了在Unity中如何通过脚本控制相机的可见性,包括基于距离的裁剪、基于mesh可见性的渲染控制,以及如何使用camera.cullingMask属性来精确控制哪些层会被相机渲染。这些技巧对于优化游戏性能和实现特定视觉效果非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//物体根据与相机距离可见

void CullDistance(int floor, float distance, Camera LookCamera)
    {
        float[] distances = new float[32];
        //设置某层可见性
        distances[floor] = distance;
        //将数组赋给摄像机的layerCullDistances
        LookCamera.layerCullDistances = distances;
    }

//相机渲染可见 基于mesh 可见

private void OnBecameVisible()
    {
        OnVisible(true);
    }

    private void OnBecameInvisible()
    {
        OnVisible(false);
    }

    // 相机层 控制

camera.cullingMask = ~(1 << x);  // 渲染除去层x的所有层
  
camera.cullingMask &= ~(1 << x); // 关闭层x
  
camera.cullingMask |= (1 << x);  // 打开层x

camera.cullingMask = 1 << x + 1 << y + 1 << z; // 摄像机只显示第x层,y层,z层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值