Часто, ввиду большого объёма данных, графики получаются захламлёнными и трудно читаемыми. Благодаря третьему измерению, мы получаем возможность более наглядного представления. Однако в таком случае серьёзной проблемой является производительность, т.к. для отображения большого количества данных, потребляется большое количество ресурсов.
Существует ряд ПО для объёмной визуализации, большинство из которых, например, MatLab, или Matplotlib, не только не обеспечивают необходимую производительность, для комфортного анализа данных, но и не обладают достаточной интерактивностью при взаимодействии с ним.
Большим преимуществом способа, описанного в этой статье, является то, что игровой движок Unity производит расчёты не на процессоре, а на более производительной видеокарте, благодаря чему, без особых трудностей возможно работать с миллионами единиц данных. Так же не составляет особого труда просмотр визуализации со всех сторон, благодаря простоте реализации вращения, перемещения и зуммирования. Перейдём непосредственно к реализации. После создания стандартного проекта Unity, в окне «Project manager» необходимо установить пакет: «High Definition RP».
После окончания установки импортируем «Visual Effect Graph» в проект.
И в окне сцены создадим «Visual Effect».
В качестве шаблона для «Visual Effect» выбираем раннее созданный «Visual Effect Graph».
Подготовим «Visual Effect Graph» для отображения статичного облака точек. Для этого перейдём в режим редактирования «Visual Effect Graph» и воссоздадим следующую структуру (добавление новых элементов осуществляется с помощью клавиши пробел):
Далее необходимо создать скрипт, для обращения к нашему графу. Назовём скрипт: «PointRender» и перенесём туда код:
Всё готово! Для проверки работоспособности, добавим в метод «Start» следующий код, в котором создадим произвольный набор значений цвета, позиций и размера частиц:
После запуска сцены увидим примерно такую картину. Тысяча частиц, с произвольным размером, цветом и позицией.