Geometry Suboperator

The Geometry suboperator provides access to geometric and related data in the 3ds Max scene. Input is of the Object data type, and typically comes from the output of a Select Object suboperator.

Interface

Output Type
Displays the type of data output by the Geometry suboperator; this is determined by the Object Property choice.
Note: The Pair and Complex output types for this suboperator, related to certain choices here, are discussed in Data Types.
Object Property
Choose the type of property from the drop-down list. A brief explanation of the active property appears immediately below the list box.
Sub-Material
Turn on to access a specific member of a multi-material, such as Multi/Sub-Object. Use the numeric field to specify the sub-material value. Available only with the following object properties: Point Color, Point Color 3D, Point Color Gradient, Point Color Gradient 3D, Point Self-Illumination, Point Opacity,
Map Channel
Lets you specify a UVW mapping channel to access. Available only with the Point Mapping and Point Mapping Gradient properties.
Gradient Delta
Defines a distance in world space. This parameter is used for the option where a gradient is calculated by querying properties in the vicinity of a central point. The parameter defines the size of this vicinity. Available only with the Point Color Gradient, Point Color Gradient 3D, and Point Mapping Gradient properties.

Objects group

Static Objects

Turn on if the reference objects do not move, rotate, or scale; that is, their transformation matrix is constant. This speeds up object evaluation.

Animated Surface

Turn on if the surface of the reference objects is animated via modifiers, object parameters, or sub-object animation.

Geometry Safe Mode

Turn this on if the reference surface is a regular manifold surface, that is, every edge has one or two faces coming out of it. This speeds up the construction of binary search trees for geometry evaluation.

Subframe Sampling group

Placement
By default this option is off, and the transformation matrix of the object has accuracy of one frame. When on, the transformation matrix is queried on a sub-frame basis, for greater accuracy at the cost of slower computation.
Geometry
By default this option is off, causing the shape of the object to be considered static within the current frame. When on, the geometry/shape of the object is queried on sub-frame basis, resulting in greater accuracy at the cost of slower computation.

Separate Indexing For group

Group Members
When on, group members are considered as separate objects. When off, the entire group is treated as a single object.
Children
When on, hierarchy members are considered as separate objects. When off, the entire hierarchy is treated as a single object.

Data Wiring group

T2 As Objects Timing
Adds the T2 input connector to the suboperator in Data View; any other suboperator that outputs the Time data type can be wired to this. The Time data input defines the exact timing to get geometry properties from the reference objects. Keep in mind that if the input timing is not in sync for all particles, the Geometry suboperator may take on a significant workload, since it would need to determine unique object states (as defined by different timing) for each particle. Available with all Object Property settings.
I3 Designates Objects / Designates Objects/Verts
Adds the I3 input connector to the suboperator in Data View; any other suboperator that outputs the Integer data type can be wired to this. When off, the property is calculated as considered for all objects. For example, Closest Point means the closest point from all reference objects. When on, the property is calculated for a specific reference object (the index supplied is the index in the list of the reference objects in the Select Object suboperator).

Available only with Object Property choices that make sense for designating particular objects: Closest Point, Closest Point Distance, Closest Vertex, Collision Point, Inside Objects, Object Number of Faces/Vertices, Object Size, Object Surface, Object Volume, Point Color 3D, and Point Color Gradient 3D.

With Vertex … properties such as Vertex Illum, the option is on by default but is unavailable for turning off, and is named I3 Designates Objects/Verts, because for these properties the I3 input defines the objects/vertices indices to get properties from. For Vertex … properties this input is a Compound Index (object index / vertex index); for all other options (where the default state is off), it's just an object index.

P4 As Local Coordinates
Adds the P4 input connector to the suboperator in Data View; any other suboperator that outputs the Pair data type can be wired to this.

The Face Area and Face Selection options can be used to calculate the area of the face of an object or the selection status of a face. And although it seem to be sufficient to supply a compound index (object index + face index) as an index, the suboperator has a Pair-type input for these two options. This is done to simplify the wiring from the Closest Point option that has Pair as an output. If the object index + face index are created in a different way then you can use a Convert suboperator to create a Pair typejust use a zero vector as the other component of the Pair type.

V4 As Particle Position

Adds the V4 input connector to the suboperator in Data View; any other suboperator that outputs the Vector data type can be wired to this. Usually, geometry properties such as Closest Point are calculated with regard to the current particle position. However, when this option is available, you can define the Vector data channel to be considered as the "particle position," that is, the location to be considered for calculating the geometry property.

V5 As Particle Speed

Adds the V5 input connector to the suboperator in Data View; any other suboperator that outputs the Vector data type can be wired to this. This option is available for the Collision Point property only. The collision point is calculated from the knowledge of the current particle speed. However, if you would like to calculate the possible collision in the future (for avoidance purposes), you might want to modify the speed vector/value to some artificial value; for example, to increase the speed value to foresee a possible future collision. To do so, you can modify current particle speed by using Input Standard and Function suboperators, and wire it into the V5 input.

R6 As Gradient Delta

Adds the R6 input connector to the suboperator in Data View; any other suboperator that outputs the Real data type can be wired to this. Available only with the "… Gradient" properties.

Uniqueness group

Seed

Lets you set a random seed to differentiate the behavior from other randomly seeded functions. Change the Seed value to vary the random behavior, either by entering a value or clicking New. Available only with the Random Surface Point and Random Volume Point object properties.

E7
When on, you can expose the Seed parameter via a Parameter suboperator and let the user choose. Turn on E7, add a Parameter suboperator set to Type: Uniqueness Seed, wire it to the E7 input on the Geometry suboperator, and then use Expose Parameters to make the setting available in the Particle View interface.