Initial State Operator
 
 
 
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:

  1. Create a particle system.
  2. Go to the frame where the particle system is in the desired initial state.
  3. 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.
  4. 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.
  5. Select the particle system or events.
  6. 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.
  7. At this point, you can disable the original particle system if you like.
  8. Drag an Empty Flow to a blank area of Particle View to create a new global event.
  9. 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.

  • Particle SystemLets 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.
  • Selected EventsLets 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.