Unity 6.3
0 онлайн 3 гостей 3 в системе
Вход

ParticleSystem

класс в UnityEngine

Наследуется от:Component

Выполнено в:UnityEngine.ParticleSystemModule

Описание

Программный интерфейс встроенной Particle System — мощной и универсальной реализации системы частиц в Unity.

Общие параметры

Общие параметры Particle System хранятся внутри специального Главного модуля. Эти параметры видны в Inspector над всеми другими модулями.

В сценарии эти параметры доступны через ParticleSystem.main.

Доступ к свойствам модуля

Particle System свойства группируются по модулю, к которому они принадлежат, например ParticleSystem.noise и ParticleSystem.emission. Эти свойства являются структурами, но ведут себя не как обычные структуры C#. Они представляют собой прямые интерфейсы к нативному коду, поэтому важно понимать, как работать с ними в отличие от обычной структуры C#.

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

Кроме того, поскольку каждый модуль является структурой, его нужно сохранить в локальную переменную, прежде чем присваивать модулю новые значения. Например, вместо:
ParticleSystem.emission.enabled = true; // Doesn't compile
напишите:
var emission = ParticleSystem.emission; // Stores the module in a local variable
emission.enabled = true; // Applies the new value directly to the Particle System


Множители эффекта модуля

Каждый модуль имеет специальные свойства мультипликатора, которые позволяют изменять общий эффект кривой без необходимости редактирования самой кривой. Эти свойства мультипликатора названы в честь кривой, на которую они влияют — например, 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 System, — всё происходит автоматически.

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

Свойства

Свойство Описание
collisionПрограммный интерфейс модуля CollisionModule системы Particle System.
colorBySpeedПрограммный интерфейс модуля ColorByLifetimeModule системы Particle System.
colorOverLifetimeПрограммный интерфейс модуля ColorOverLifetimeModule системы Particle System.
customDataПрограммный интерфейс модуля CustomDataModule системы Particle System.
emissionПрограммный интерфейс модуля EmissionModule системы Particle System.
externalForcesПрограммный интерфейс модуля ExternalForcesModule системы Particle System.
forceOverLifetimeПрограммный интерфейс модуля ForceOverLifetimeModule системы Particle System.
has3DParticleRotationsОпределяет, вращает ли Particle System свои частицы только вокруг оси Z или система указывает отдельные значения для осей X, Y и Z.
hasNonUniformParticleSizesОпределяет, использует ли Particle System одно значение для ширины и высоты (и глубины, при использовании мешей), или система указывает разные значения для каждой оси.
inheritVelocityПрограммный интерфейс модуля InheritVelocityModule системы Particle System.
isEmittingОпределяет, испускает ли Particle System частицы. Particle System может прекратить испускать частицы, когда его эмиссионный модуль закончился, он был приостановлен или если система была остановлена с помощью Stop с флагом StopEmitting. Возобновить испускание частиц можно, вызвав Play.
isPausedОпределяет, приостановлен ли Particle System.
isPlayingОпределяет, играет ли Particle System.
isStoppedОпределяет, находится ли Particle System в остановленном состоянии.
lifetimeByEmitterSpeedПрограммный интерфейс модуля Lifetime By Emitter Speed системы Particle System.
lightsПрограммный интерфейс модуля LightsModule системы Particle System.
limitVelocityOverLifetimeПрограммный интерфейс модуля LimitVelocityOverLifetimeModule системы Particle System. .
mainДоступ к основным настройкам Particle System.
noiseПрограммный интерфейс модуля NoiseModule системы Particle System.
particleCountТекущее количество частиц (только для чтения). Число не включает частицы дочерних систем частиц
proceduralSimulationSupportedОпределяет, поддерживает ли данная система процедурное моделирование.
randomSeedПереопределить случайное семя, используемое для выброса Particle System.
rotationBySpeedПрограммный интерфейс модуля RotationBySpeedModule системы Particle System.
rotationOverLifetimeПрограммный интерфейс модуля RotationOverLifetimeModule системы Particle System.
shapeПрограммный интерфейс модуля ShapeModule системы Particle System.
sizeBySpeedПрограммный интерфейс модуля SizeBySpeedModule системы Particle System.
sizeOverLifetimeПрограммный интерфейс модуля SizeOverLifetimeModule системы Particle System.
subEmittersПрограммный интерфейс модуля SubEmittersModule системы Particle System.
textureSheetAnimationПрограммный интерфейс модуля TextureSheetAnimationModule системы Particle System.
timeПозиция воспроизведения в секундах.
totalTimeОбщее время воспроизведения в секундах, включая настройку Задержка начала.
trailsПрограммный интерфейс модуля TrailsModule системы Particle System.
triggerПрограммный интерфейс модуля TriggerModule системы Particle System.
useAutoRandomSeedУправляет тем, использует ли Particle System автоматически генерируемое случайное число для генератора случайных чисел.
velocityOverLifetimeПрограммный интерфейс модуля VelocityOverLifetimeModule системы Particle System.

Открытые методы

Метод Описание
AllocateAxisOfRotationAttributeОбеспечивает выделение массива атрибутов частиц axisOfRotations.
AllocateCustomDataAttributeГарантирует выделение массивов атрибутов частиц customData1 и customData2.
AllocateMeshIndexAttributeОбеспечивает выделение массива атрибутов частиц meshIndices.
ClearУдалить все частицы в Particle System.
EmitНемедленно подсчитайте частицы.
GetCustomParticleDataПолучить поток пользовательских данных по частицам.
GetParticlesПолучает частицы этого Particle System.
GetPlaybackStateВозвращает все данные, относящиеся к текущему внутреннему состоянию Particle System.
GetTrailsВозвращает все данные, относящиеся к текущему внутреннему состоянию Particle System Trails.
IsAliveСодержит ли Particle System какие-либо живые частицы, или он будет производить больше?
PauseПриостанавливает работу системы, чтобы новые частицы не высвобождались, а существующие частицы не обновлялись.
PlayЗапускает Particle System и перенастраивает время воспроизведения на 0.
SetCustomParticleDataУстановить поток пользовательских данных по частицам.
SetParticlesУстанавливает частицы этого Particle System.
SetParticlesAndTrailsУстанавливает частицы и следы этого Particle System.
SetPlaybackStateИспользуйте этот метод с результатами предыдущего вызова ParticleSystem.GetPlaybackState, чтобы восстановить Particle System в состояние, сохранённое в объекте playbackState.
SimulateБыстрый продвижение вперед Particle System путем имитации частиц в течение заданного периода времени, затем приостанавливает его.
StopОстановка воспроизведения Particle System с помощью предоставленного поведения остановки.
TriggerSubEmitterВключает указанный суб-эмиттер на всех частицах Particle System.

Статические методы

Метод Описание
ResetPreMappedBufferMemoryСброс кэша зарезервированной графической памяти, используемой для эффективного отображения систем частиц.
SetMaximumPreMappedBufferCountsОграничивает количество графической памяти, которое Unity резервирует для эффективного отображения систем частиц.
Унаследованные члены 4

Свойства

СвойствоОписание
gameObjectGameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту.
tagТег этого игрового объекта.
transformTransform прикреплен к этому GameObject.
transformHandleTransformHandle этого GameObject.
hideFlagsДолжен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем?
nameИмя объекта.

Открытые методы

МетодОписание
BroadcastMessageВызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте или любом из его дочерей.
CompareTagПроверяет тег GameObject на соответствие определенному тегу.
GetComponentПолучает ссылку на компонент типа T на том же GameObject, что и указанный компонент.
GetComponentInChildrenПолучает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любого ребенка GameObject.
GetComponentIndexПолучает индекс компонента на его родительском GameObject.
GetComponentInParentПолучает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любой родитель GameObject.
GetComponentsПолучает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент.
GetComponentsInChildrenПолучает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и на любого ребенка GameObject.
GetComponentsInParentПолучает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и любой родитель GameObject.
SendMessageВызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте.
SendMessageUpwardsВызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте и на каждом предшественнике поведения.
TryGetComponentПолучает компонент указанного типа, если он существует.
GetInstanceIDПолучает экземпляр ID объекта.
ToStringВозвращает имя объекта.

Статические методы

МетодОписание
DestroyУдаляет GameObject, компонент или ресурс.
DestroyImmediateНемедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования.
DontDestroyOnLoadНе уничтожать целевой Объект при загрузке нового Scene.
FindAnyObjectByTypeПолучает любой активный загруженный объект типа Type.
FindFirstObjectByTypeПолучает первый активный загруженный объект типа Type.
FindObjectsByTypeПолучает список всех загруженных объектов типа Type.
InstantiateКлонирует исходный объект и возвращает клон.
InstantiateAsyncЗахватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation.

Операторы

ОператорОписание
boolСуществует ли объект?
оператор!=Сравнивает, если два объекта ссылаются на разные объекты.
оператор ==Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту.