Preset_Maker : modifier

Preset_Maker : modifier {d4e56ab,0} 

This modifier is applied by the Animation Presets / Offset Controller system originally introduced with 3ds Max 2016 Extension 1. Available in 3ds Max 2017 and higher.

Constructor:

Class instances not directly creatable by MAXScript

See Interface:OffsetManager for indirect creation methods.

Aliases:

Preset_Maker
Publish

Properties:

<Preset_Maker>.showPublishUI : Boolean

Ges/sets the visibility of the "Preset Maker" rollout.

The default is False for modifiers created from a template, and True for template modifiers.

When set to True, an additional "Preset Maker" rollout will be displayed.

When set to False, the additional rollout will be hidden.

"Preset Maker" rollout

This rollout is only displayed when the .showPublishUI property is set to True.

<Preset_Maker>.publishFile : string

Gets/sets the name of the Preset.

The default name of newly created presets is "effect".

This property must be set to a unique name string before saving the Preset to disk – see Interface:OffsetManager for details.

<Preset_Maker>.publishFileOriginal : string

Gets the original Preset name used to create the modifier instance.

Editing the "Name Your Preset" text field will only modify the .publishFile property, while the .publishFileOriginal will retain the original creation-time name.

<Preset_Maker>.InstanceModifierControls : Boolean

Gets/sets the state of the "Instance Modifier Controls" checkbox.

When set to True (default), the modifier controls will be instanced across the objects the Preset is applied to.

Not Exposed To The UI

<Preset_Maker>.modifierIDList : int array

Gets the Preset_Maker Modifier’s ID list, which is a unique identifier assigned to the Preset at creation time.

All modifier instances created from the same Preset will contain the same ID values.

<Preset_Maker>.transform : Boolean

Gets whether the Preset Modifier will apply transform animations.

<Preset_Maker>.modifier : Boolean

Gets whether the Preset Modifier will apply modifier animations.

<Preset_Maker>.material : Boolean

For future use.

<Preset_Maker>.InstanceTMControls : Boolean

For future use.

<Preset_Maker>.InstanceMaterialControls : Boolean

For future use.

<Preset_Maker>.originalTM : maxObject

Gets the original Transform controller of the object.

<Preset_Maker>.originalVis : maxObject

For future use.

<Preset_Maker>.originalMat : material

For future use.

<Preset_Maker>.timingUI : maxObject

Gets the instance of the offset : floatController which is exposes the Timing User Interface – see below for its properties.

offset: floatController

The offset floatController is the control object which implements the offsetting of animation timing across multiple objects.

Its properties are exposed as UI controls in the Preset_Maker Modifier.

Class instances of this controller cannot be created by MAXScript, but existing instances referenced by the Preset_Maker modifier can be accessed via the modifier’s .timingUI property (see above).

Aliases:

offset
offsetTimer

"Offset Motion Controls" rollout

<offset>.X : Boolean

Gets/sets the state of the "Use Axis" > "X" checkbox.

When set to True (default), the X local axis of the picked center object will be used to measure the distance to the other objects with the same Preset_Maker modifier.

<offset>.Y : Boolean

Gets/sets the state of the "Use Axis" > "Y" checkbox.

When set to True (default), the X local axis of the picked center object will be used to measure the distance to the other objects with the same Preset_Maker modifier.

<offset>.Z : Boolean

Gets/sets the state of the "Use Axis" > "Z" checkbox.

When set to True (default), the X local axis of the picked center object will be used to measure the distance to the other objects with the same Preset_Maker modifier.

<offset>.ID : float

Gets/sets the Order ID value.

The ID is used to sort the objects with the same preset in order to offset them differently - objects with the same ID will have the same offset, and lower IDs are offset less than higher IDs.

"Offset Configuration" rollout

"Animation Settings" group of controls

<offset>.animcationLength : time

Gets/sets the value shown by the "Original Animation Length" label.

This value is normally initialized to the Preset animation’s length, but it can be modified via MAXScript.

Since the "Original Animation Length" is used to determine the animation speed by dividing it by the .lengthOffset value, changing either of them will affect the playback speed of the offset animation.

However, it is recommended to always modify the .lengthOffset value which is exposed as a value spinner in the UI for that purpose.

<offset>.startOffset : time

Gets/sets the value of the "Start Offset" value spinner.

<offset>.lengthOffset : time

Gets/sets the value of the "Set Length" value spinner.

<offset>.useGraph : Boolean

Gets/sets the state of the "Animation Ease Graph" checkbox.

<offset>.graph : maxObject

Gets the object containing the Ease Graph CurveControl object.

Note: The Before and After Out Of Range types of the offset:floatController are exposed as drop-down lists in the UI.

To get and set these values, use the functions described in the topic "Controller Out-Of-Range Functions"

"Offset Settings" group of controls

<offset>.Direction : integer

Gets/sets the selection of the "Playback Type" drop-down list.

Possible values are:

<offset>.perNodeOffset : time

Gets/sets the value of the "Per Node Delay" value spinner.

This value controls the actual time offset between the animations of two objects with the same Preset which are sorted one after the other based on their IDs.

<offset>.useRandomPerNode : boolean

Gets/sets the state of the "Random Delay" checkbox.

Default is False.

When set to True, the .randomPerNodeOffset property will be used to vary the .perNodeOffset value between objects for a more natural look.

<offset>.randomPerNodeOffset : time

Get/set the value of the "Random Delay" value spinner.

It is used only when the .useRandomPerNode property is set to True.

<offset>.usePerNodeGraph : Boolean

Get/set the state of the "Per Node Ease Graph" checkbox.

Default is False.

<offset>.perNodeGraph : maxObject

Get the "Per Node Ease Graph" CurveControl object.

Not Exposed In The UI

<offset>.numNodes : integer

Gets the number of objects the Preset_Maker modifier is applied to.

While setting the value is possible, it serves no practical purpose as the value is for reference purposes only and modifying it does not affect the actual offset animation.

<offset>.randomList : int array

Gets the random order to use when .Direction is set to 4 – Random.

The array will contain the same amount of integers as the number of objects with the Preset applied.

The list items from 1 to N represent the sorted list of objects.

The values of the items represent the order from 0 to N-1 in which the animation offset will be applied.

For example, #(2, 19, 5, 17, 7, 0, 12, 11, 15, 4, 3, 13, 1, 6, 10, 9, 14, 20, 8, 16, 18) means that the 6th object will play back first (value of 0), then the 13th object will play second (value of 1), then the first (value of 2), and so on.

<offset>.startTime : time

Not exposed in the UI.

<offset>.random : float

Not exposed in the UI.

<offset>.Control : float

Not exposed in the UI.