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

# Shape_Mark : Helper

    Shape_Mark - superclass: helper super-superclass:node - classID: #(1962490640, 515064320)

Value > MAXWrapper > Node > Helper > Shape_Mark

| Particle Flow - Quick Navigation

Description:

Use the Shape_Mark operator to replace each particle with either rectangle or a box cut out from the particle geometry with an image mapped onto it. The image can be animated and the animation can be synchronized with particle events.

A typical application of Shape_Mark would be to leave marks after particles impact objects in the scene. For example, you could use it to leave scorch marks after a torpedo hits a boat and explodes.

Constructor:

    Shape_Mark...

Properties:

    <Shape_Mark>.Contact_Object Node default:undefined

Get/Set the Contact Object.

    <Shape_Mark>.Surface_Animation Boolean default:false

When set to True, Shape_Mark takes into account surface changes due to vertex animation of the Contact object.

    <Shape_Mark>.Align_To Integer default:0

Controls the state of the Align To drop-down list in the UI. Depending on the Shape setting, Shape_Mark creates either a rectangle or a box cutout on the Contact geometry. The Orientation setting specifies how the shape is oriented. In the mark's local coordinate system, the X axis is Length, the Y axis is Width, and with the box cutout, Z is height. The Z axis is perpendicular to the surface of the object at the contact point.

Possible values are:

0: Speed - The Length direction is parallel to the projection of the particles' speed vector onto the contact plane.

1: Particle X/Y/Z - The Length direction is parallel to the projection of the particle's local coordinate axis X, Y, or Z, respectively, as the particle moves towards the contact object.

2: Random - Uses a random Length direction in the contact plane.

    <Shape_Mark>.Divergence Float default:0.0

Applies a range of random variation, in degrees, to the orientation of the Length direction. Unavailable when using the 2 : Random option for Align_To.

    <Shape_Mark>.Size_Space Integer default:0

Corresponds to the Size group radio buttons. Possible values are:

0: In World Space - Sets the absolute size in system units, using the World coordinate system.

1: In Local Space - Sets the mark size relative to the existing particle size, in local space. The software uses the dimensions of the existing shape to determine the size of the facing rectangle.

    <Shape_Mark>.Width Float default:1.0 --world units

When .Size_Space is set to 0 : In World Space, sets the particles Width in system units. Range is from 0 to 1000000000

    <Shape_Mark>.Length Float default:1.0 --world units

When .Size_Space is set to 0 : In World Space, sets the particles Length in system units. Range is from 0 to 1000000000

    <Shape_Mark>.Inherited_Scale Float  default: 100.0 -- percent

Sets the percentage of the mark size relative to the existing particle size. Range is from 0 to 100.

    <Shape_Mark>.Variation Float default:0.0 --percent

Sets the percentage by which particle size can vary.

    <Shape_Mark>.Angle_Distortion Boolean default:false

When set to true, increases the Length value of the mark according to the particle's angle of approach.

This effectively stretches the mark shape if particle approaches the contact geometry at a low angle.

Available only when Align_To is set to 0 : Speed.

    <Shape_Mark>.Max_Distortion Float default:1000.0 --percent

Sets the maximum percentage by which the software may stretch the mark.

Available only when .Angle_Distortion is set to True.

    <Shape_Mark>.Mark_Type Integer default:0

These settings let you specify the mark-making object as a rectangle or a box.

Possible values are:

0: Rectangle - The mark shape is a two-faced rectangle.

Note

When using a material with Shape Mark, always choose this option.

1: Box Intersection - With this option, the software creates a box for each particle that leaves a mark, and derives the mark shape from a Boolean intersection between the Contact object and the box.

    <Shape_Mark>.Height Float default:10.0 --world units

Sets the height of the box used with the Box Intersection method.

Used only when .Mark_Type is set to 1 : Box Intersection.

    <Shape_Mark>.Multi_Elements Boolean default:false

When set to True, particles can leave marks on all parts of Contact objects that contain multiple elements.

When set to False, a particle marks only the first element it collides with.

Available only when .Mark_Type is set to 1 : Box Intersection.

    <Shape_Mark>.Pivot_Offset Float default:0.0 --percentage

Shifts the position of the shape mark along its length dimension with respect to the pivot of the impacting particle.

Range is from -50.0 to 50.0.

By default, the center of the mark's length dimension coincides with the point where the particle's pivot strikes the Contact object.

This setting lets you offset the mark's position to anywhere along its length.

Note

The Width dimension and the Box Intersection's height dimension are always centered at the intersection of the particle pivot and the Contact object's surface.

    <Shape_Mark>.Surface_Offset Float default:0.001 --world units

Specifies the height of the shape mark above the Contact object's surface.

The mark is slightly elevated above the contact geometry to achieve the visual effect of the mark spot overlapping the contact geometry.

This parameter is not animatable.

    <Shape_Mark>.Surface_Offset_Variation Float default: 0.0 -- world units

Specifies the surface offset variation value in world units.

    <Shape_Mark>.Vertex_Noise Float default: 0.0 -- world units

Specifies the vertex noise value in world units.

    <Shape_Mark>.Continuous_Update Boolean default:false

When set to True, the shape of the mark is recalculated at each frame, according to the current positions of the particle and the contact surface.

This option can consume a great amount of CPU time.

Available only when .Mark_Type is set to 1 : Box Intersection.

    <Shape_Mark>.Generate_Mapping_Coords Boolean default:true

When set to True, allows correct application of the shape mark when using a mapped material.

When not using a mapped material, you can save memory by setting it to False.

    <Shape_Mark>.Random_Seed Integer default:12345

Specifies the randomization value.

## Shape_Mark Interfaces:

The following Interfaces are exposed by the Shape_Mark Class:

Interface: action

Interface: operator

Interface: PViewItem

#### See Also

- Shape_Facing : Helper

- Shape_Instance : Helper

- Particle Flow Classes