Command entry: Particle View Click Initial State in an event or add an Initial State operator to the particle system and then click it.
The Initial State operator is a birth operator that uses a snapshot of another particle system or other events as a starting
point for a new event. The particle system or events from which the Initial State operator gets its snapshot must be different
from those of the Initial State operator itself.
The Initial State operator can make use of an icon in the scene, whose default size is 0.0. The icon is visible only if the
Icon Size parameter is greater than 0.
You can also use the Initial State helper object (in the Particle Flow category) to create an Initial State icon and a corresponding
Initial State event at the same time.
NoteTo avoid looping dependencies, create the Initial State operator after you create the particle system or events from which it obtains its initial state.
Initial State Usage
The Initial State operator is particularly useful when a large number of particles are generated before frame 0, and you want
to use the state of particles at frame 0.
In the following example, the left side of the image shows the original wiring without the Initial State operator. Because
1,000,000 particles are born starting at frame -750, a great deal of calculation is required to calculate the particles at
frame 0.
In a particle system like this, you can save time by using the Initial State operator. In this case, you could set the Viewport
Quantity Multiplier in the original system to 100%, and then let the system calculate the particles at frame 0, which could
take 15 minutes or more. Then you would use the Calculate Initial State function in the Initial State operator to acquire
the starting state of particles at frame 0. The first time you perform this operation, it will take as long as particle calculation
without the Initial State operator. The advantage is that the initial particle state at frame 0 does not have to be calculated
again unless you change parameters that affect the initial state.
The original system generates particles from frame -750 to 144, but the Initial State operator captures the state at frame
0. Therefore, you would need an additional Birth operator to generate particles from frames 0 to 144. To determine how many
particles to generate from frames 0 to 144, look at the Initial State operator to get the number of particles generated, and
subtract this number from the original total; the result is the number of particles should be generated with the new Birth
operator. In the example shown above, the amount is 1,000,000–834,000 = 166,000.
If the original particle system has Position and Speed operators, be sure to instance them in the new event with the Birth
operator. There is no need to instance these operators in the event that contains the Initial State operator, as this information
is already included in the referenced event. All other operators can go into a common event where the Birth and Initial State
events merge.
Procedure
To use Initial State:
- Create a particle system.
- Go to the frame where the particle system is in the desired initial state.
- Drag the Initial State operator to a blank area of Particle View to create a new, separate event. Alternatively, you can use
the Initial State helper to create an Initial State icon and a new event at the same time.
- Decide if you want the whole particle system, or distinctive events for the initial state, and choose the appropriate option
in the Initial State From group.
- Select the particle system or events.
- Click Calculate Initial State. The Initial State UI makes a snapshot at the current frame, and also reports the number of
the particles in the initial state and the amount of memory used.
- At this point, you can disable the original particle system if you like.
- Drag an Empty Flow to a blank area of Particle View to create a new global event.
- Wire the new global event to the event that includes the Initial State operator.
Interface
- Calculate Initial State
-
Creates a snapshot of a particle system or selected events at the current frame. The snapshot uses only particles visible
in the viewport, and is reflected by the Amount and the Memory Used statistics. This button becomes available after you specify
a particle system or events.
Initial State uses the Viewport % and Render % in the PF Source's Quantity Multiplier group. If Viewport % is set to 100,
all particles in the snapshot are used. If Viewport % is less than 100, then only some particles of the original initial state
are used. If Viewport % is greater than 100, the operator spawns particles from the original state to meet the percentage.
The Initial State operator moves the particles apart in order to separate the spawns visually, and can modify the speed of
the spawns.
- Emit Time
-
All particles in the initial state are generated at the Emit Time.
- Auto Sync Emit Time
-
Sets the Emit Time value to the current frame automatically when you click Calculate Initial State button. This action synchronizes
the referenced particle system's timing with the operator.
- Amount
-
Read-only field shows the number of particles in the initial state, which is the number of visible particles in the original
particle system during the snapshot. Keep in mind that the operator grabs the viewport state of a particle system. What you have in the viewport at the snapshot frame is what you get for the initial state.
- Memory Used
-
Read-only field shows the amount of system memory used to keep the initial-state data when the scene is saved into a file,
in kilobytes.
- Initial State From
-
Choose a source option for the initial state and then make settings as appropriate.
- Lets you derive the initial state from an entire particle system. Click the button to choose the particle system. You cannot
use the particle system that contains the Initial State operator.
- Lets you choose any number of events to use for the initial state. To add events to the list, click Add. You cannot add the
event the Initial State operator is in. To remove an event from the list, highlight the event and click Remove.
Initial State Data group
The options in this group serve two purposes:
- Before you click Calculate Initial State, the settings define the types of data to get from the particle system or events
for the initial state.
- After you click Calculate Initial State, the settings define the data to be used during particle generation.
When you click Calculate Initial State, the operator reads the status of the check boxes in this group and acquires the indicated
data from the particle system or events. If a check box is on and the data corresponding to that checkbox is available from
the particle system or events, the checkbox text is black. Otherwise, it is gray. You can toggle a check box whether its text
is black or gray.
If the data is available (the checkbox text is black) and you turn off the check box, the data is not used when particles
are generated.
- Age
-
When off, all particles are born with age 0. When on, each particle retains its age as of the moment of the snapshot.
- Speed/Scale/Rotation/Spin/Shape
-
When on, these options derive the corresponding type of data from the snapshot.
- Mapping
-
Takes data from a Mapping operator. To make this option work properly, turn on Show Map in Viewport for the original Mapping
operator.
- Material ID
-
Takes the sub-material index assignment, To make this option work properly, turn on Assign Material ID and Show in Viewport
for all Material operators.
- Script Data
-
Takes the Script Float, Integer, Vector and Matrix data created by Script operators. This data can be used later by Script
operators as well as by the Script Vector option of the Find Target test Point setting.
- Selection
-
Takes particle selection data. Any selections in the Initial State operator’s particle system is overwritten by the snapshot
selection.
For Quantity Multiplier > 100% group
The options in this group have an effect on particles only if the Viewport % (or Render %) in the PF Source's Quantity Multiplier
group is greater than 100%. To meet the requirement of the Quantity Multiplier, the operator has to spawn the acquired particles.
- Position Variation Max. Spread
-
The maximum offset of spawned particles’ placement from the original location.
- Speed Variation Magnitude %
-
Variation in the speed magnitude for spawned particles. The variation is defined as the maximum percentage change from the
original speed. For example, if the original speed is 100 units per second and Magnitude is 20%, then the spawned particle
may have any speed from 80 to 120.
- Speed Variation Divergence
-
Directional variation of the speed for the spawned particles, in degrees, with a range from 0 to 180.
Lock To Icon TM group
The options in this group are used to link initial particle placement and speed to the operators 3D icon.
- Position
-
When on, you can modify the particles’ initial placement by moving, rotating, and scaling the operator icon.
- Speed
-
Causes the particles’ initial speed after the snapshot to be affected by transform animation of the operators icon.
- Icon Size
-
Sets the icon size. If you create the operator in Particle View, the default size is 0, and the icon is not visible in viewport.
If you create the operator as a Particle Flow helper object, then the size is set when you drag in a viewport during the icon-creation
process.
- Color Coordinated
-
When this option is turned on, the color of the 3D icon is synchronized with the color of the Display operator in the same
event. When this option is off, the icon has a standard Particle Flow operators color (blue).
Uniqueness Group of Controls
The Uniqueness setting enables changing the randomization of the position and speed variation when Quantity Multiplier is
greater than 100% (see the For Quantity Multiplier 100% group).
- Seed
-
Specifies a randomization value.
- New
-
Calculates a new seed using a randomization formula.