...
...
...
...

Описание

Попробуйте сами: https://atan-games.itch.io/voxel-destruction-pro

🔷 Прямая загрузка из файлов вокса MagicaVoxels

Этот пакет позволяет вам моделировать что угодно в бесплатном программном обеспечении для моделирования вокселей "MagicaVoxel", а затем сохранять его в папке StreamingAssets и напрямую загружать в Unity. Кроме того, вы также можете процедурно генерировать данные вокселей, пакет позволяет легко добавлять собственные функции.

🔷 Совместимость

Windows: ✔️

Linux: ✔️

Android: ✔️

WebGL: ✔️

VR: ✔️ Протестировано на Oculus quest 3

MacOS и IOS: ❔ Не тестировалось, но должно работать нормально

Пакет также должен работать с HDRP, но в него не включен шейдер по умолчанию или демонстрационная сцена HDRP.

🔷 Полностью многопоточный

Этот пакет интенсивно использует систему заданий Unity, чтобы переложить нагрузку на другие ядра вместо основного потока. Вот некоторые из заданий:

Greedy Meshing: генерирует сетку с использованием алгоритма жадной сетки, который минимизирует количество треугольников

Создание сетки: создает данные сетки непосредственно из NativeArrays, возвращаемых жадным Mesher. Это экономит производительность, так как вам не нужно копировать данные в основной поток. Границы сетки также будут вычисляться внутри этого задания

Поддержка коллайдера: всякий раз, когда вы устанавливаете сетку коллайдера, он запекает этот коллайдер. Это требует много производительности, особенно для сложных сеток. Мы выделяем это в другой поток, что гарантирует, что производительность основного потока не будет затронута

Поиск вокселей: всякий раз, когда происходит разрушение, это задание ищет воксели, которые оно затрагивает, используя расчеты расстояния

Поиск связанных компонентов: если воксельные объекты содержат плавающие фрагменты, которые не связаны с основной сеткой, нам нужно их разделить. Это можно сделать с помощью алгоритма поиска связанных компонентов

Фрагментатор: это задание создает фрагменты из удаленных вокселей

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

🔷 Полная переделка пакета

Этот пакет является полной переделкой пакета Voxel Destruction, по сравнению с предыдущим пакетом он имеет множество улучшений:

Лучшая производительность: новый пакет намного быстрее, есть много улучшений производительности. Теперь вы можете свободно уничтожать модели, которые едва могли загрузиться в старой версии пакета. Фрагменты теперь также создаются в реальном времени, что позволяет вам еще больше персонализировать разрушение.

Более высокое удобство использования: функциональные возможности теперь разделены на несколько скриптов, что позволяет вам использовать только необходимые функции. Также есть возможность создавать персонализированные объекты Voxel, которые загружают данные процедурно. Я также попытался улучшить документацию, и в коде стало больше комментариев, теперь он содержит больше подробностей о том, как использовать пакет.

Дополнительные функции: теперь вы можете использовать новые функции, такие как пользовательские исходные точки, настраиваемые фрагменты в реальном времени, различные типы разрушений и многое другое

Меньше времени загрузки: теперь есть более умные функции кэширования, которые гарантируют, что файлы vox будут считываться только один раз, а затем кэшироваться

🔷 Авторы

Шейдер контура, используемый на снимках экрана: https://github.com/Robinseibold/Unity-URP-Outlines

Этот пакет использует:

- BetterStreamingAssets: https://github.com/gwiazdorrr/BetterStreamingAssets

- VoxReader: https://github.com/sandrofigo/VoxReader

Технические подробности
- Воксельные сетки используют цвета вершин

- Жадное задание сетки генерирует треугольники, вершины, нормали и цвета вершин

- Запекание коллайдера можно выполнить с помощью задания

- Изолированные части ищутся с помощью маркировки подключенных компонентов алгоритм

Создано с помощью ИИ
Я использовал gpt-4o, чтобы найти несколько способов дальнейшего улучшения производительности пакета. Он также оказал большую помощь в изучении того, как использовать систему заданий Unity, и несколько раз помог найти некоторые ошибки.

Данный материал является собственностью правообладателя. Использование в коммерции - запрещено! Только в учебных целях и самостоятельного изучения. Если Вы считаете, что данный материал нарушает ваши авторские права, пожалуйста, сообщите об этом нам на почту support@unityhub.pro или в личные сообщения главному администратору. Также рекомендуем ознакомиться с информацией для правообладателей по этой ссылке..

Обсудим?

!

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

    Чтобы оставлять сообщения - зарегистрируйтесь
    Открыть / закрыть чат

    Обратите внимание!


    Если у вас не отображаются материалы и какой либо интерфейс на сайте, пожалуйста, отключите блокировщики рекламы.