Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

ParticleSystem

класс в UnityEngine / Наследует от: Component / Реализовано в: UnityEngine.ParticleSystemModule

Описание

Скриптовый интерфейс для 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 == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3