Unity 6.3
0 онлайн 83 гостей 3 в системе
Вход

BatchCullingOutputDrawCommands.visibleInstances

Declaration

public int* visibleInstances;

Описание

Индексы видимых экземпляров для отображения.

Поскольку у каждой команды отрисовки может быть разное число экземпляров, BatchRendererGroup хранит здесь индексы экземпляров, и каждая команда обращается к ним через свойство visibleOffset. Индексы экземпляров нумеруются с нуля; Unity передаёт их прямо в шейдер, который по этому значению определяет, откуда загружать данные экземпляра.

Обратный вызов culling должен выделить память для этой команды с помощью UnsafeUtility.Malloc с параметром Allocator.TempJob. Unity освобождает эту память, когда заканчивает отрисовку по командам отрисовки.

Видимые индексы экземпляров используют под собственно индекс экземпляра только младшие 24 бита, а старшие 8 бит — под коэффициент перехода LOD. В будущей версии BatchRendererGroup это ограничение будет действовать только для команд отрисовки, которые действительно устанавливают флаг LODCrossFade. Это позволит использовать все 32 бита, что удобно, если вы хотите закодировать данные прямо в индекс.