• Почему GameObject null?

    @a3dline
    Я думаю все зависит от того в какой момент времени метод Инстанциации вызывается. Если до того как был проинициализирован обьект (Awake) то сериализуемое поле может быть еще равным нулл, так как обьект еще не десереализовался. Попробуй использовать метод Start().
    Написано
  • Как хранятся объекты в Unity на сцене? Как проиходит отсечение видимых объектов?

    @a3dline
    SergeySerge11,
    У гейм- обьекта как такового нет вершин. Гей обьект, это обьект который описывает структуру с компонентами и может быть добавлен на сцену в ее дерево обьектов.

    Вотвремя загрузки гейм-обьекта или сцены в память, все зависимые ресурсы, такие как текстуры, меша, шейдера и так далее загружаются на ГПУ через Async Uploader - отдельный модуль юнити позволяющий разворачивать обьекты в видеопамяти. На мобильных устройствах - в обычной памяти, но отданной под нужды ГПУ.

    Далее, во время рендеринга, ЦПУ готовить Драв-Кол - это структура данных которая устнавливает ГПУ на работу в определенное состояние: какой буфер вершин, атрибутов. Какой шейдер. Параметры шейдера, текстуры.

    Так же если у нас есть кастомный код, который, например, генерирует мешь или это динамический дравкол, то изменения заливаются в память ГПУ перед следующим кадром рендера.

    Сам рендеренг всегда отстает на один кадр от работы ЦПУ. Пока мы изменем сцену, формируем дравколы доя кадра, устанавливаем веса анимации, ГПУ попорядку обрабатывает дравколы с предыдущего кадра.

    Про рэй-трейсинг ничего не знаю.
    Написано
  • Как хранятся объекты в Unity на сцене? Как проиходит отсечение видимых объектов?

    @a3dline
    1. Руты дерева хранятся на сцене, каждый обьект имеет цепочку вложенных обьектов. Обход осуществляется с рута по веткам рекурсивно.
    Считает Цпу.
    Флюструм куллинг считается на цпу по баунд боксу обьекта. Берется из Трансформа. Самый простой ААВВ тест.
    2. Есть разделение на статик батчинг и динамик батчинг. Статик работает только для сцен. Он комбинируем меша обьектов в один по Материал Проперти Блоку. Динамик батчинг работает в рантайме по тому же принципу, но есть ряд ограничений, не более чем 64к вершин на один бачь, и не более 300 атрибутов вершин на один обьект. В Рендер пайплане есть свой динамик батчинг, он работает по принципу оптимизации перегрузки стейта ГПУ с одинаковыми шейдерами, но разными Статик Блоками, жрет батарейку мобилльника, по этому актуален для стендалоне игр. Накладывает ряд ограничений на конфигурацию шейдера.
    3. Флюструм каллинг на СПУ. См п.1.
    4.дерево не перестраивается. Каждый кадр происходит обход баунд-боксов на попадание в флюструм. Если изменить положение обьекта в иерархии происходит тол ко пересчет его очереди рендера.
    5. Каждый кадр вне зависимости от того поменялось ли что на сцене. Нет никакого массива. Рекурсивный перебор для построения Дравколов.
    Написано