UNITY3D 知識積累

//物體根據與相機距離可見

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層

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章