Unity 6.3
0 онлайн 91 гостей 3 в системе
Вход
Визуальные эффекты Шаг 23 из 100

Столкновения частиц

Модуль Collisions управляет столкновениями частиц с GameObjects в Scene.

Когда другие объекты окружают Particle System, эффект часто более убедителен, когда частицы взаимодействуют с этими объектами. Например, вода или мусор должны быть заблокированы твердой стеной, а не просто проходить через нее. С Коллизия модуль включён, частицы могут столкнуться с объектами в Scene.

A Particle System может быть настроен так, чтобы его частицы столкнулись с любым Collider в сцене, выбрав Мировой Коллайдеры также могут быть отключены в соответствии с слоем, на котором они находятся, с помощью Столкновение с свойства. Всплывающее окно также имеет Самолеты опция режима, которая позволяет добавить набор планов к Scene Эта опция полезна для простых полов, стен и подобных объектов, и имеет более низкую нагрузку на процессор, чем Мировой режим.

Когда режим Самолеты включён, список преобразований (обычно пустой GameObjects) может быть добавлен через свойство Самолеты. Плоскости бесконечно расширяются в локальных XZ плоскостях объектов, с положительной осью Y, указывающей нормальные векторы плоскостей. Для содействия разработке, плоскости будут показаны как Гизмы в Scene, независимо от того, имеют ли объекты какую-либо видимую сетку сами по себе. Гизмы могут быть показаны как сетка или плоскость, а также могут быть масштабированы. Однако масштабирование применяется только к визуализации — сами столкновения плоскостей бесконечно расширяются через Scene.

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

Свойства Дампен и Отскок полезны, когда частицы представляют собой твердые объекты. Например, гравий будет отскакивать от жесткой поверхности при бросании, но частицы снежного кома могут потерять скорость во время столкновения. Lifetime Loss и Min Kill Speed могут помочь уменьшить эффект остаточных частиц после столкновения. Например, огненный шар может длиться несколько секунд, летя по воздуху, но после столкновения отдельные огненные частицы должны быстро рассеяться.

Вы также можете обнаружить столкновения частиц из скрипта, если включена опция Send Collision Messages. Скрипт может быть прикреплен к объекту с системой частиц, или к объекту с Collider, или к обоим. Обнаруживая столкновения, вы можете использовать частицы в качестве активных объектов в игре, например, как снаряды, магические заклинания и улучшения. См. справочную страницу скрипта для MonoBehaviour.OnParticleCollision для более подробной информации и примеров.

Всемирное качество столкновений

Модуль Мировой Коллизии имеет свойство Качество столкновения, которое вы можете установить на Высокая, Средний или Низкий. Когда Качество столкновения установлено на Средний (статические коллайдеры) или Низкая (статические коллайдеры), столкновения используют сетку вокселей (значения на сетке 3D) для кэширования предыдущих столкновений, для быстрого повторного использования в последующих кадрах.

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

Это приближение, поэтому могут возникнуть ошибки при столкновениях. Вы можете уменьшить значение Размер Вокселя, чтобы помочь с этим; однако, это потребует дополнительной памяти и будет менее эффективным.

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

Дополнительные ресурсы