Описание
Скриптовый интерфейс для ParticleSystem. Мощная и универсальная реализация системы частиц Unity.
Общие параметры
Общие параметры системы частиц хранятся в специальном главном модуле. Эти параметры видны в Инспекторе над всеми остальными модулями:
В скрипте эти параметры доступны через ParticleSystem.main.
Доступ к свойствам модуля
Свойства системы частиц сгруппированы по модулям, к которым они принадлежат, например ParticleSystem.noise и ParticleSystem.emission. Эти свойства являются структурами, но ведут себя не так, как обычные структуры C#. Это просто интерфейсы непосредственно в нативный код, поэтому важно знать, как их использовать по сравнению с обычной структурой C#.
Основное отличие состоит в том, что нет необходимости назначать структуру обратно компоненту Particle System. Когда вы устанавливаете какое-либо свойство в структуре модуля, Unity немедленно присваивает это значение системе частиц.
Кроме того, поскольку каждый модуль является структурой, вы должны кэшировать его в локальной переменной, прежде чем сможете присвоить модулю какие-либо новые значения. Например, вместо:ParticleSystem.emission.enabled = true; // Не компилируется
написать:
var emission = ParticleSystem.emission; // Сохраняет модуль в локальной переменной
emission.enabled = true; // Применяет новое значение непосредственно к системе частиц
Множители эффекта модуля
Каждый модуль имеет специальные свойства множителя, которые позволяют изменять общий эффект кривой без необходимости редактирования самой кривой. Все эти свойства множителя названы в честь кривой, на которую они влияют. Например, ParticleSystem.emission.rateMultiplier управляет общим эффектом ParticleSystem.emission.rate в данной системе.
Сокращенное значение константы
Параметры поддерживают сокращенную запись простых постоянных значений. Чтобы установить постоянное значение для параметра, все, что вам нужно сделать, это присвоить ему номер. Нет необходимости создавать объект MinMaxCurve или MinMaxGradient в ParticleSystemCurveMode.Constant режим.
Например, вместо:
var emission = ParticleSystem.emission;
emission.rate = new ParticleSystem.MinMaxCurve(5.0f);
напишите:
var emission = ParticleSystem.emission;
emission.rate = 5.0f;
Примечание о производительности. При настройке свойств модулей частиц эти настройки сразу же передаются в собственный код. Это дает наилучшую производительность. Это означает, что установка свойств структуры модуля не устанавливает в скрипте что-то, что требует возврата к системе частиц; все происходит автоматически.
Смотрите так же: Particle.
Свойства
collision | Скрипт интерфейса для CollisionModule системы частиц. |
colorBySpeed | Скриптовый интерфейс для модуля ColorByLifetimeModule системы частиц. |
colorOverLifetime | Скриптовый интерфейс для модуля ColorOverLifetimeModule системы частиц. |
customData | Скриптовый интерфейс для модуля CustomDataModule системы частиц. |
emission | Скриптовый интерфейс для EmissionModule системы частиц. |
externalForces | Скриптовый интерфейс для модуля ExternalForcesModule системы частиц. |
forceOverLifetime | Скриптовый интерфейс для модуля ForceOverLifetimeModule системы частиц. |
inheritVelocity | Скриптовый интерфейс для модуля InheritVelocityModule системы частиц. |
isEmitting | Определяет, испускает ли система частиц частицы. Система частиц может перестать излучать, когда ее модуль излучения закончил работу, был приостановлен или если система была остановлена с помощью Stop с флагом StopEmitting. Возобновите передачу, вызвав Play. |
isPaused | Определяет, приостановлена ли система частиц. |
isPlaying | Определяет, воспроизводится ли система частиц. |
isStopped | Определяет, находится ли система частиц в остановленном состоянии. |
lifetimeByEmitterSpeed | Скриптовый интерфейс для модуля «Время жизни системы частиц по скорости излучателя». |
lights | Скриптовый интерфейс для модуля LightsModule системы частиц. |
limitVelocityOverLifetime | Скриптовый интерфейс для модуля LimitVelocityOverLifetimeModule системы частиц. . |
main | Доступ к основным настройкам системы частиц. |
noise | Скриптовый интерфейс для NoiseModule системы частиц. |
particleCount | Текущее количество частиц (только для чтения). |
proceduralSimulationSupported | Поддерживает ли эта система процедурное моделирование? |
randomSeed | Переопределить случайное начальное значение, используемое для излучения системы частиц. |
rotationBySpeed | Скриптовый интерфейс для модуля RotationBySpeedModule системы частиц. |
rotationOverLifetime | Скриптовый интерфейс для модуля RotationOverLifetimeModule системы частиц. |
shape | Скриптовый интерфейс для ShapeModule системы частиц. |
sizeBySpeed | Скриптовый интерфейс для модуля SizeBySpeedModule системы частиц. |
sizeOverLifetime | Скриптовый интерфейс для модуля SizeOverLifetimeModule системы частиц. |
subEmitters | Скриптовый интерфейс для SubEmittersModule системы частиц. |
textureSheetAnimation | Скриптовый интерфейс для TextureSheetAnimationModule системы частиц. |
time | Позиция воспроизведения в секундах. |
trails | Скриптовый интерфейс для TrailsModule системы частиц. |
trigger | Скриптовый интерфейс для TriggerModule системы частиц. |
useAutoRandomSeed | Определяет, использует ли система частиц автоматически сгенерированное случайное число для заполнения генератора случайных чисел. |
velocityOverLifetime | Скриптовый интерфейс для модуля VelocityOverLifetimeModule системы частиц. |
Публичные Методы
AllocateAxisOfRotationAttribute | Гарантирует выделение массива атрибутов частиц axisOfRotations. |
AllocateCustomDataAttribute | Гарантирует выделение массивов атрибутов частиц customData1 и customData2. |
AllocateMeshIndexAttribute | Гарантирует выделение массива атрибутов частиц meshIndices. |
Clear | Удалить все частицы в системе частиц. |
Emit | Немедленно испускайте количество частиц. |
GetCustomParticleData | Получить поток пользовательских данных для каждой частицы. |
GetParticles | Получает частицы этой системы частиц. |
GetPlaybackState | Возвращает все данные, относящиеся к текущему внутреннему состоянию системы частиц. |
GetTrails | Возвращает все данные, относящиеся к текущему внутреннему состоянию системных следов частиц. |
IsAlive | Содержит ли система частиц живые частицы или она будет производить больше? |
Pause | Приостанавливает работу системы, чтобы не испускать новые частицы и не обновлять существующие частицы. |
Play | Запускает систему частиц. |
SetCustomParticleData | Установите поток пользовательских данных для каждой частицы. |
SetParticles | Устанавливает частицы этой системы частиц. |
SetPlaybackState | Используйте этот метод с результатами более раннего вызова ParticleSystem.GetPlaybackState, чтобы восстановить систему частиц до состояния, сохраненного в объектеplayState. |
SetTrails | Используйте этот метод с результатами более раннего вызова ParticleSystem.GetTrails, чтобы восстановить систему частиц до состояния, сохраненного в объекте Trails. |
Simulate | Перематывает систему частиц вперед, моделируя частицы за заданный период времени, а затем приостанавливает ее. |
Stop | Остановка воспроизведения системы частиц с помощью заданного поведения остановки. |
TriggerSubEmitter | Запускает указанный вспомогательный излучатель для всех частиц системы частиц. |
Статические Методы
ResetPreMappedBufferMemory | Сбросить кеш зарезервированной графической памяти, используемой для эффективного рендеринга систем частиц. |
SetMaximumPreMappedBufferCounts | Ограничивает объем графической памяти, которую Unity резервирует для эффективного рендеринга систем частиц.. |
Унаследованные члены
Свойства
gameObject | Игровой объект, к которому прикреплен компонент. Компонент всегда привязан к игровому объекту. |
tag | Тег игрового объекта. |
transform | Transform, прикрепленный игровому объекту. |
hideFlags | Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name | Имя объекта |
Публичные Методы
BroadcastMessage | Вызывает метод с именем methodName для каждого MonoBehaviour в игровом объекте или любом из его дочерних элементов. |
CompareTag | Помечен ли этот игровой объект тегом? |
GetComponent | Возвращает компонент, если он прикреплён к игровому объекту, и null, если нет. Также возвращает отключенные компоненты. |
GetComponentInChildren | Возвращает компонент дочернего элемента игрового объекта, используя поиск в глубину. |
GetComponentInParent | Возвращает компонент игрового объекта в любом из его родителей. |
GetComponents | Возвращает все компоненты игрового объекта |
GetComponentsInChildren | Возвращает все компоненты дочерних элементов игрового объекта. Работает рекурсивно. |
GetComponentsInParent | Возвращает все компоненты игрового объекта любого из родителя. |
SendMessage | Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте. |
SendMessageUpwards | Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте и для каждого behaviour. |
TryGetComponent | Получает компонент указанного типа, если он существует. |
GetInstanceID | Возвращает идентификатор экземпляра объекта. |
ToString | Возвращает имя объекта. |
Статические Методы
Destroy | Удаляет игровой объект, компонент или актив. |
DestroyImmediate | Уничтожает объект obj. Настоятельно рекомендуется использовать Destroy. |
DontDestroyOnLoad | Не уничтожает целевой объект при загрузке новой сцены. |
FindObjectOfType | Возвращает первый активный загруженный объект. |
FindObjectsOfType | Получает список всех загруженных объектов. |
Instantiate | Клонирует исходный объект и возвращает клон. |
Операторы
bool | Объект существует? |
operator != | Сравнивает, ссылаются ли два объекта на другой объект. |
operator == | Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |