MAXScript Extensions > MAXScript Extensions for Particle Flow > Particle Flow Classes > Operators > Speed >

# Speed_By_Surface : Helper

    Speed_By_Surface - superclass: helper super-superclass:node - classID: #(1962490653, 515064320)

Value > MAXWrapper > Node > Helper > Speed_By_Surface

| Particle Flow - Quick Navigation

Description:

The Speed_By_Surface operator lets you control particle speed and direction with any object or objects in the scene.

Constructor:

    Speed_By_Surface...

Properties:

    <Speed_By_Surface>.Speed_Type Integer default:0

0: Set Speed Once - The operator sets the speed for each particle once: when the particle enters the event.

1: Control Speed Continuously - The operator sets particle speed throughout the event.

    <Speed_By_Surface>.Set_Speed_Magnitude Boolean default:true

When set to False and .Speed_Type is set to 1 : Control Speed Continuously, the current particle speed is used instead of the Speed_Value .

    <Speed_By_Surface>.Speed_Value Float default:300.0 --world units

Get/set the particle speed in system units per second.

    <Speed_By_Surface>.Speed_Variation Float default:0.0 --world units

Get/set the amount by which particle speed can vary, in system units per second.

    <Speed_By_Surface>.Surface_Objects node array default:#()

Get/set the array of surface objects to use.

    <Speed_By_Surface>.Animated_Shape Boolean default:false

When set to True allows particles to follow the surface of an object whose form is animated by morphing or with modifiers.

    <Speed_By_Surface>.Subframe_Sampling Boolean default:false

When set to True, the operator acquires animation of the Surface Geometry shape on a tick basis (every 1/4800th of a second) rather than a frame basis. This provides greater precision in allowing the particle positions to follow animation of the Surface Geometry object's form

    <Speed_By_Surface>.Set_Speed_by_Surface_Material Boolean default:false

Varies particles' existing speed and direction based on properties of the material applied to each Surface Geometry object.

    <Speed_By_Surface>.Material_Type Integer default:3

0: Grayscale Multiplier - Lets material luminance control speed, with darker areas producing slower particles and lighter areas producing faster ones. The software multiplies the luminance of the material near each particle, converted to a percentage, by the particle's current speed. A luminance of 0 converts to 0%, of 128 converts to 50%, and of 255 converts to 100%.

1: Signed Grayscale - Works like Grayscale Multiplier, but the multiplier can be negative as well, causing reversal of motion. Signed Grayscale uses a material luminance value of 128 as the midpoint, and assigns it a multiplier of 0%. Luminance values from 0 to 127 result in multipliers of -100% to about -1%, respectively, and values of 129 to 255 result in multipliers of about 1% to 100%, respectively.

2: RGB as World XYZ Mult. - Works like Grayscale Multiplier, but uses the intensity of the material's red, green, and blue channels to affect particle speed on the world X, Y, and Z axes, respectively.

3: RGB as Local XYZ Mult. - Works like RGB as World XYZ Mult., but uses the object's local coordinates rather than world coordinates.

    <Speed_By_Surface>.Use_Sub_Material Boolean default:false

When set to True, uses a sub-material from the Multi/Sub-Object material assigned to the Surface Geometry object to define speed.

    <Speed_By_Surface>.Material_ID Integer default:1

Specifies the material ID of the sub-material to be used for particle speed control.

    <Speed_By_Surface>.Direction_Type Integer default:0

Specifies which way the particles go after they are born.

0: Surface Normals - Each particle moves along a line perpendicular to the nearest face. The direction the surface faces doesn't matter.

1: Out Of Surface - Particles move away from the closest face.

2: Parallel To Surface - Each particle travels parallel to the nearest face.

    <Speed_By_Surface>.Divergence Float default:0.0

When set to True, spreads out the particle stream. Use the numeric setting to define the extent of the divergence. Range is from 0 to 180. The value can be animated. This option is only used when .Speed_Type is set to 0 : Set Speed Once.

    <Speed_By_Surface>.Acceleration_Limit Float default:100.0 --world units

Sets the maximum acceleration. The higher this value, the more quickly particles can turn and change speed.

    <Speed_By_Surface>.Unlimited_Range Boolean default:true

When set to True, the surface controls speed and direction of particles at any distance. When False, particles must be within the range specified by the .Range value.

    <Speed_By_Surface>.Range Float default:10.0 --world units;

The maximum distance, in system units, between the particles and controlling surface. The Surface Geometry will not control particles beyond this distance.

    <Speed_By_Surface>.Falloff Float default:10.0 --world units;

The distance, in system units, beyond the .Range value within which the Surface Geometry exerts partial control over particles. The degree of control diminishes from 100% at the Range distance to 0% at the Range+Falloff Zone distance.

    <Speed_By_Surface>.Sync_Type Integer default:0

Controls the state of the Synch By drop-down list in the UI. Specifies the time frame for applying animated parameters.

0: Absolute Time - Any keys set for parameters are applied at the actual frames for which they're set.

1: Particle Age - Any keys set for parameters are applied at the corresponding frames of each particle's existence.

2: Event Duration - Any keys set for parameters are applied to each particle starting when it first enters the event.

    <Speed_By_Surface>.Random_Seed Integer default:12345

Specifies a randomization value.

## Speed_By_Surface Interfaces:

Interface: action

Interface: operator

Interface: PViewItem

#### See Also

- Particle Flow Classes