MAXScript Extensions > MAXScript Extensions for character studio > Crowd MAXScript Extensions > Crowds >

# CrowdScatter : ReferenceTarget

    Crowd.scatter - superclass: ReferenceTarget; super-superclass:MAXWrapper - 51:0 - classID: #(2055548930, 169758462)

| Character Studio - Quick Navigation

These properties correspond to the Scatter Objects dialog displayed by clicking the Scatter Objects icon in Crowd’s Setup rollout.

## Clone Tab Properties

    <crowd.scatter>.cloneObject Node Default: Undefined

Object in the scene to be cloned.

    <crowd.scatter>.numClones Integer Default: 10

The number of clones to be generated.

    <crowd.scatter>.cloneType Integer Default: 0 Alias (0_copy__1_reference__2_instance)

0 - copy

1 - Instance

2 - Reference

Specify how the object is cloned. It can be cloned as a copy, an instance, or a reference.

    <crowd.scatter>. Boolean Default: True cloneHierarchy

When true, all objects linked to the selected object are cloned as well, with the hierarchical structure retained intact for each clone.

    <crowd.scatter>.cloneControllers Boolean Default: True

Set true to clone an object when calling Scatter All. The object is cloned and then any specified transforms are applied to the clones.

## Position Tab Properties

    <crowd.scatter>.positionSpace Integer Default: 0 Alias 0_Grid__1_Box___2_Sphere__3_Surface

0 - On Grid

1 - Inside Box

2 - Inside Sphere

3 - On Surface

4 - In Radial Area

Choose position object before selecting the reference object. On Grid distributes the clones over the surface of a grid object. Inside Box and Inside Sphere distribute the clones within the volume of a primitive box or sphere object, respectively.

    <crowd.scatter>.positionObject Node Default: Undefined Alias: Grid_Box_Sphere_Surface

An object in the scene to be used as a reference object.

Note

You can use only a primitive sphere, a primitive box, or a grid helper object as a reference object. A primitive sphere or box that has been converted to a editable mesh object can't be used as a reference object.

    <Crowd.scatter>.surfaceOffset Float Default: 0.0

On Surface specifies a consistent distance above the surface using surface normals for distribution. Available only when. positionSpace is set to On Surface.

    <Crowd.scatter>.centerX Float Default: 0.0

Specifies the X value for the center of the distribution in world coordinates.

    <Crowd.scatter>.centerY Float Default: 0.0

Specifies the Y value for the center of the distribution in world coordinates.

    <Crowd.scatter>.centerZ Float Default: 0.0

Specifies the Z value for the center of the distribution in world coordinates.

    <Crowd.scatter>.radius Float Default: 10.0

Specifies the maximum distance from the center within which clones are to be positioned.

    <Crowd.scatter>.XYPlane Boolean Default: False

Specifies that clones are to be distributed on the world XY plane only, resulting in a disc-like array.

    <crowd.scatter>.childBbox Boolean Default: True Alias: Include_childrens__bounding_boxes_in_spacing_calculations

When true, all of a hierarchical object's sub-objects are considered when determining spacing. When false, only the selected object is considered.

    <crowd.scatter>.spacing Float Default: 1.0 Alias: Bounding_Box_Multiplier_for_Position_Spacing

Specifies the minimum distance between cloned objects. The Spacing setting is multiplied by the size of the object's bounding sphere to determine how close objects can get. If Spacing is left at 1.0, the default, objects normally cannot be positioned within each others' bounding spheres. If Spacing is set to 2.0, objects are separated by a distance equal to or greater than the size of the bounding sphere.

    <crowd.scatter>.positionSeed Integer Default: 0

Specifies a seed value for randomizing the clones' locations. If a scene has more than one crowd, each should use a different seed to avoid having identical configurations.

    <Crowd.scatter>.IncPositionSeed Boolean Default: False

When true and crowds.genlocations is called, add 1 to the .positionSeed value, and redistributes the objects using the new random seed.

## Rotation Tab Properties

    <Crowd.scatter>.forwardAxisSign Boolean Default: True

If true, the forward axis is in the positive direction. If false the forward axis is in the negative direction.

    <crowd.scatter>.forwardAxis Integer Default: 1

0 - X

1 - Y

2 - Z

Specifies which axis of the cloned objects points forward, for use with the Look At Target option.

    <crowd.scatter>.UpAxisSign Boolean Default: True

If true the up axis is in the positive direction. If false the up axis is in the negative direction.

    <crowd.scatter>.UpAxis Integer Default: 2

0 - X

1 - Y

2 - Z

Axis of the cloned objects points upward; this axis is aligned with the world Z axis.

Note

You cannot specify the same axis as Local Forward and Local Up simultaneously. If you choose an axis for one that's already chosen for the other, the software switches the other to a different axis.

    <crowd.scatter>.lookFrom Integer Default: 0

0 - Look From Self

1 - Look From Selected Object

Determines the direction from which the clones look. By default, each clone looks from its own position (Self), so that when several clones are looking at a single target, each is oriented differently. To orient each clone so that it's parallel to an imaginary line between two objects (the "from" object and the "to" object), choose Selected Object and specify the object with the (None) button.

    <crowd.scatter>.lookFromObject Node Default: Undefined

An object from which the clones are to look if lookFrom = 1.

    <crowds.scatter>.LookTowards Integer Default: 0

0 - Look Toward Self

1 - Look Toward Selected Object

Determines the direction toward which the scatter objects look. By default, each object retains its current orientation.

    <crowd.scatter>.lookAtTarget Node Default: Undefined

An object toward which the clones are to look.

    <crowd.scatter>.sideDeviation Float Default: 0.0

Sets a maximum deviation angle in degrees for the clones' sideways orientation. If clones should look in an object's general direction but may look at a spot to either side of the target, use Sideways Deviation to set the maximum amount by which they can deviate from the calculated angle. The actual deviation amount for each clone is calculated at random, based on the Deviation settings and the Rand Seed setting. Range=0.0 to 180.0.

    <crowd.scatter>.upDownDeviation Float Default: 0.0

Sets a maximum deviation angle in degrees for the clones' up/down orientation. If clones should look in an object's general direction but may look at a spot above or below the target, use Up/Down Deviation to set the maximum amount by which they can deviate from the calculated angle. The actual deviation amount for each clone is calculated at random, based on the Deviation settings and the Rand Seed setting. Range=0.0 to 180.0.

    <crowd.scatter>.rotationSeed Integer Default: 0

Specifies a seed value for randomizing the clones' orientations, based on the Deviation settings. If a scene has more than one crowd, each should use a different seed to avoid having identical configurations.

    <Crowd.scatter>.IncRotationSeed Boolean Default: False

When true and crowds. genrotations is called, add 1 to the .rotationSeed value, and redistributes the objects using the new random seed.

## Scale Tab Properties

Contains options for scaling object clones. For each scaling axis you can specify alternative forward and up axes, plus a target object toward which the clones will point. In addition, you can specify a source object; when using both source and target objects, the clones are rotated so they're parallel to the line between the two.

    <crowd.scatter>.xScale Float Default: 1.0

Sets scaling on the X axis as a multiplier.

    <crowd.scatter>.xScaleDeviation Float Default: 0.0

Sets the maximum factor for randomization of scaling. For each clone, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier.

    <crowd.scatter>.matchXtoYscale Boolean Default: False

Lets you use the same scaling as on the Y axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable.

    <crowd.scatter>.matchXtoZscale Boolean Default: False

Lets you use the same scaling as on the Z axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable.

    <crowd.scatter>.yScale Float Default: 1.0

Sets scaling on the Y axis as a multiplier.

    <crowd.scatter>.yScaleDeviation Float Default: 0.0

Sets the maximum factor for randomization of scaling. For each clone, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier.

    <crowd.scatter>.matchYtoXscale Boolean Default: False

Lets you use the same scaling as on the X axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable

    <crowd.scatter>.matchYtoZscale Boolean Default: False

Lets you use the same scaling as on the Z axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable

    <crowd.scatter>.zScale Float Default: 1.0

Sets scaling on the Z axis as a multiplier.

    <crowd.scatter>.zScaleDeviation Float Default: 0.0

Sets the maximum factor for randomization of scaling. For each clone, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier.

    <crowd.scatter>.matchZtoXScale Boolean Default: False

Lets you use the same scaling as on the X axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable.

    <crowd.scatter>.matchZtoYScale Boolean Default: False

Lets you use the same scaling as on the Y axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable.

    <crowd.scatter>.scaleSeed Integer Default: 0

Specifies a seed value for randomizing the clones' scales, based on the Deviation settings.

    <Crowd.scatter>.IncScaleSeed Boolean Default: False

When true and crowds. genscales is called, add 1 to the .scaleSeed value, and redistributes the objects using the new random seed.

## All Ops Tab Properties

    <crowd.scatter>.ComputeClones Boolean Default: False

Set true to clone an object when calling Scatter All. The object is cloned, then any specified transforms are applied to the clones.

Turning on Clones makes the Select Objects to Transform button unavailable. The object to clone and cloning parameters must be specified on the with .ComputeClone.

    <crowd.scatter>.ComputePositions Boolean Default: False

When true and crowds.scatterall is called, the transforms are applied according to the settings in the Position panel.

    <crowd.scatter>.ComputeRotations Boolean Default: False

When true and crowds.scatterall is called, the transforms are applied according to the settings in the Rotation panel.

    <crowd.scatter>.ComputeScales Boolean Default: False

When true and crowds.scatterall is called, the transforms are applied according to the settings in the Scale panel.

    <Crowd.scatter>.IncPosSeed Boolean Default: False

When true, .ComputePositions is true, and crowds.scatterall is called, add 1 to the .positionSeed value before redistributing the objects using the new random seed.

    <Crowd.scatter>.IncRotSeed Boolean Default: False

When true, .ComputeRotations is true, and crowds.scatterall is called, add 1 to the .rotationSeed value before redistributing the objects using the new random seed.

    <Crowd.scatter>.IncSclSeed Boolean Default: False

When true, .ComputeScales is true, and crowds.scatterall is called, add 1 to the .scaleSeed value before redistributing the objects using the new random seed.

    <crowd.scatter>.ObjectsToScatter ArrayParameter Default: #()

Objects to be affected by calling crowds.scatterall