Version: 2019.3


class in UnityEngine





Script interface for ParticleSystem. Unity's powerful and versatile particle system implementation.

General parameters

The Particle System's general parameters are kept inside a special Main module. These parameters are visible in the Inspector above all the other modules:

In script, these parameters are accessible through ParticleSystem.main.

Module effect multipliers

Every module has special multiplier properties that allow you to change the overall effect of a curve without having to edit the curve itself. These multiplier properties are all named after the curve they affect - for instance ParticleSystem.emission.rateMultiplier controls the overall effect of ParticleSystem.emission.rate in a given system.

Constant value shorthand

Parameters support a shorthand notation for simple constant values. To set a constant value for a parameter, all you need to do is assign a number to it. It is not necessary to create a MinMaxCurve or MinMaxGradient object in the ParticleSystemCurveMode.Constant mode.

For example, instead of:
ParticleSystem.emission.rate = new ParticleSystem.MinMaxCurve(5.0f);
ParticleSystem.emission.rate = 5.0f;

Performance note: When setting properties on particle modules, the settings are passed immediately into native code. This gives the best performance. This means that setting properties on a module struct doesn't set something in script that requires setting back to the Particle System; it all happens automatically.

See Also: Particle.


collisionScript interface for the CollisionModule of a Particle System.
colorBySpeedScript interface for the ColorByLifetimeModule of a Particle System.
colorOverLifetimeScript interface for the ColorOverLifetimeModule of a Particle System.
customDataScript interface for the CustomDataModule of a Particle System.
emissionScript interface for the EmissionModule of a Particle System.
externalForcesScript interface for the ExternalForcesModule of a Particle System.
forceOverLifetimeScript interface for the ForceOverLifetimeModule of a Particle System.
inheritVelocityScript interface for the InheritVelocityModule of a Particle System.
isEmittingDetermines whether the Particle System is emitting particles. A Particle System may stop emitting when its emission module has finished, it has been paused or if the system has been stopped using Stop with the StopEmitting flag. Resume emitting by calling Play.
isPausedDetermines whether the Particle System is paused.
isPlayingDetermines whether the Particle System is playing.
isStoppedDetermines whether the Particle System is stopped.
lightsScript interface for the LightsModule of a Particle System.
limitVelocityOverLifetimeScript interface for the LimitVelocityOverLifetimeModule of a Particle System. .
mainAccess the main Particle System settings.
noiseScript interface for the NoiseModule of a Particle System.
proceduralSimulationSupportedDoes this system support Procedural Simulation?
randomSeedOverride the random seed used for the Particle System emission.
rotationBySpeedScript interface for the RotationBySpeedModule of a Particle System.
rotationOverLifetimeScript interface for the RotationOverLifetimeModule of a Particle System.
shapeScript interface for the ShapeModule of a Particle System.
sizeBySpeedScript interface for the SizeBySpeedModule of a Particle System.
sizeOverLifetimeScript interface for the SizeOverLifetimeModule of a Particle System.
subEmittersScript interface for the SubEmittersModule of a Particle System.
textureSheetAnimationScript interface for the TextureSheetAnimationModule of a Particle System.
trailsScript interface for the TrailsModule of a Particle System.
triggerScript interface for the TriggerModule of a Particle System.
useAutoRandomSeedControls whether the Particle System uses an automatically-generated random number to seed the random number generator.
velocityOverLifetimeScript interface for the VelocityOverLifetimeModule of a Particle System.

Public 関数

ClearRemove all particles in the Particle System.
GetCustomParticleDataGet a stream of custom per-particle data.
GetParticlesGets the particles of this Particle System.
IsAliveDoes the Particle System contain any live particles, or will it produce more?
PausePauses the system so no new particles are emitted and the existing particles are not updated.
PlayStarts the Particle System.
SetCustomParticleDataSet a stream of custom per-particle data.
SetParticlesSets the particles of this Particle System.
SimulateFast-forwards the Particle System by simulating particles over the given period of time, then pauses it.
StopStops playing the Particle System using the supplied stop behaviour.
TriggerSubEmitterTriggers the specified sub emitter on all particles of the Particle System.



transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?

Public 関数

BroadcastMessageゲームオブジェクトまたは子オブジェクトにあるすべての MonoBehaviour を継承したクラスにある methodName 名のメソッドを呼び出します。
CompareTagこのゲームオブジェクトは tag とタグ付けされているかどうか
GetComponentゲームオブジェクトに type がアタッチされている場合は type のタイプを使用してコンポーネントを返します。ない場合は null です
GetComponentInChildren GameObject や深さ優先探索を活用して、親子関係にある子オブジェクトから type のタイプのコンポーネントを取得します。
GetComponentInParent GameObject や深さ優先探索を活用して、親子関係にある親オブジェクトから type のタイプのコンポーネントを取得します。
GetComponents GameObject から type のタイプのコンポーネントを「すべて」取得します。
GetComponentsInChildren GameObject や深さ優先探索を活用して、親子関係にある子オブジェクトから type のタイプのコンポーネントを「すべて」取得します。
GetComponentsInParent GameObject や深さ優先探索を活用して、親子関係にある親オブジェクトから type のタイプのコンポーネントを「すべて」取得します。
SendMessageゲームオブジェクトにアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します
SendMessageUpwardsゲームオブジェクトと親(の親、さらに親 ... )にアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します
GetInstanceIDオブジェクトのインスタンス ID を返します
ToStringReturns the name of the object.

Static 関数

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfTypeタイプ type から最初に見つけたアクティブのオブジェクトを返します
Instantiateoriginal のオブジェクトをクローンします


operator !=二つのオブジェクトが異なるオブジェクトを参照しているか比較します
operator ==2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。