Как я могу отобрать свои префабы, которые не находятся внутри 2D-вида камеры в Unity

Я работаю над воспроизведением игры Deepworld. Я настраиваю генерацию мира, используя карты массивов и некоторую специальную логику. Я создаю сотни объектов за секунды. Это разрушает производительность.

Даже нажатие кнопки воспроизведения занимает некоторое время, и довольно сложно выйти из режима воспроизведения, так как это в основном 1 кадр в секунду.

Как я должен отбирать все, что не находится в поле зрения камеры. Я не понимаю никакой логики в отношении представления камеры в С#.

Если бы я знал больше о том, как я могу получить доступ к фактическому местоположению и размеру поля зрения камеры, я, вероятно, мог бы сделать что-то в этом роде.

... {
    for (int y = 0; y < height; y++) {
        Vector3 pos = new Vector3(-width / 2 + x + 0.5f, objectHolder.transform.position.y, -height / 2 + y + 0.5f);
    
        // Imaginary If Conditions Ahead

        if (pos.x <= CameraViewMaxX && pos.x >= CameraViewMinX && pos.y <= CameraViewMaxY && pos.y >= CameraViewMinY) {
            Gizmos.color = (map[x, y] == 1)? Color.white : Color.clear;
            Gizmos.DrawCube(pos, Vector3.one);
            if (map[x, y] == 0) {
                Instantiate(block, pos, objectHolder.transform.rotation);
            }
        }

        // Back to Normal
    }
}

Я не знаю, в каком направлении двигаться, и я не знаю, как физически реализовать это в моей игре.

Я знаю, что я должен загружать только блоки в представлении, например Terraria или Deepworld. Это единственная причина, по которой эти игры идут гладко. Это из-за выбраковки.

введите здесь описание изображения


person Mister SirCode    schedule 01.07.2020    source источник
comment
изучить объединение объектов   -  person Ruzihm    schedule 01.07.2020
comment
И, возможно, это.   -  person Iggy    schedule 01.07.2020
comment
aint unity по умолчанию отбраковывает пирамиду видимости?   -  person Menyus    schedule 01.07.2020
comment
@Menyus Я думаю, что нет ... Потому что мой AMD ryzen 2700 и nvidia rtx super 2080 ti ... да ... эти вещи УНИЧТОЖАЮТСЯ, просто нажав кнопку воспроизведения. Может быть, есть настройка, которая делает это по умолчанию... но отбраковка не поможет. Мне нужно разрешить только создание объектов внутри камеры в первую очередь   -  person Mister SirCode    schedule 01.07.2020