Surface_Arrive_Behavior - superclass: ReferenceTarget; super-superclass:MAXWrapper - 26:0 - classID: #(942174387, 1612215883)
Constructor
Surface_Arrive_Behavior ... SurfaceArriveBehavior ...
Properties
<Surface_Arrive_Behavior>.name String Default: "Surface Arrive"
Get/set the name of the behavior.
<Surface_Arrive_Behavior>.surfaces ArrayParameter Default: #() -- node array
See Notes below
<Surface_Arrive_Behavior>.disableAfterArriving Boolean Default: True
When true, turns off the Surface Arrive behavior after the delegate arrives at the surface.
<Surface_Arrive_Behavior>.rate Float Default: 0.5 -- animatable
A multiple of the delegate's Max Accel setting that specifies the acceleration with which it will try to arrive. A value of 1.0 uses the full acceleration of the delegate.
<Surface_Arrive_Behavior>.rateDeviation Float Default: 0.0 -- animatable
Adds a variation to the to the rate setting.
<Surface_Arrive_Behavior>.speed Float Default: 0.0 -- animatable
The speed at which to arrive and relative to the speed of the target.
<Surface_Arrive_Behavior>.speedDeviationFloat Default: 0.0 -- animatable
Adds a variation to the to the speed setting.
<Surface_Arrive_Behavior>.distance Float Default: 1e+008 -- animatable
The maximum radial distance from the target within which the behavior will be active. Until the delegate is within this radius, the behavior will have no influence.
<Surface_Arrive_Behavior>.distanceDeviation Float Default: 0.0 -- animatable
Adds a variation to the to the distance setting.
<Surface_Arrive_Behavior>.offset Float Default: 0.0 -- animatable
Specifies a consistent distance from the calculated arrival point, based on the surface normal, for the delegate to use.
<Surface_Arrive_Behavior>.facing Boolean Default: False -- animatable
When true, the delegate will try to arrive only at points on triangles on the surface that are facing it.
<Surface_Arrive_Behavior>.random_closest Integer Default: 0
0 - Random: The software chooses a random point on the target surface as the arrival point.
1 - Closest: The software chooses the closest point on the target surface as the arrival point.
<Surface_Arrive_Behavior>.everyFrame Boolean Default: False -- animatable
When true, the software chooses arrival points for delegates at every frame. Available only when Closest is chosen.
<Surface_Arrive_Behavior>.displayOffset Boolean Default: False
When true, shows the Offset distance as lines emanating from each vertex in the surface object, perpendicular to the surface.
<Surface_Arrive_Behavior>.height Float Default: 0.0 -- animatable
Specifies a distance from the arrival point along its face normal. This is the point that the delegate will go to first before descending to the arrival point.
<Surface_Arrive_Behavior>.heightDeviation Float Default: 0.0 -- animatable
Adds random variation to the to the Height setting. See introduction for the formula used to calculate the deviation.
<Surface_Arrive_Behavior>.descentStart Float Default: 0.0 -- animatable
Specifies the distance between the delegate and the arrival point at which the descent should start.
Be careful that Descent Start is set high enough that the delegate won't overshoot when descending because its speed is too high and deceleration too low, compared to when it should start descending.
<Surface_Arrive_Behavior>.descentstartDeviation Float Default: 0.0 -- animatable
Adds a variation to the to the Descent Start setting.
<Surface_Arrive_Behavior>.useNormal Boolean Default: False Alias: Off_This_Normal
When true, use vector specified in the .xNormal
, .yNormal
, and .zNormal
to specify the angle at which the final approach occurs.
<Surface_Arrive_Behavior>.xNormal Float Default: 0.0 -- animatable; Alias: X_Normal
Specify the final approach X value for the vector in world coordinates.
<Surface_Arrive_Behavior>.yNormal Float Default: 0.0 -- animatable; Alias: Y_Normal
Specify the final approach Y value for the vector in world coordinates.
<Surface_Arrive_Behavior>.zNormal Float Default: 1.0 -- animatable; Alias: Z_Normal
Specify the final approach Z value for the vector in world coordinates.
<Surface_Arrive_Behavior>.seed Integer Default: 1 -- animatable
Affects the random numbers used to calculate the Deviation settings.
<Surface_Arrive_Behavior>.targetColor Color Default: (color 0 0 127.5)
The color used to draw the target icon.
<Surface_Arrive_Behavior>.displayTarget Boolean Default: True
When true, displays the target icon which appears during the solution when a new interim goal is calculated for the delegate.
<Surface_Arrive_Behavior>.targetScal e Float Default: 5.0 -- animatable
Specifies the overall size of the target icon.
Methods
SurfaceArriveBhvr.Getstate <Surface_Arrive_Behavior> <delegate_node>
Returns an integer value giving the state the delegate is in with respect to the Surface_Arrive_Behavior. A return value of -1 means that the delegate isn't active for that state, 0 means that the delegate is outside the distance radius and so isn't arriving, 1 means that the delegate is in the process of arriving, and 2 means that the delegate has arrived. If 'Disable After Arriving' is TRUE, the delegates will never reach state 2.
The main purpose of this funtion is so that the 'State' of a delegate as it arrives to a surface can be determined from MAXScript. It can be used for both the cognitive controller transitions as well as the script definable in MotionClips. See the ClipState Dialog and the Cognitive Controller topics in the character studio 3 online reference for more details.
Track View > Global Tracks > Block Control > GlobalClip Properties > Synthesis dialog > State Tab > New State > Edit Properties > ClipState dialog Select a Crowd helper. > Modify panel > Global Clip Controllers rollout > New > Choose GlobalClip object. > Select object in list. > Edit > Synthesis dialog > State Tab > New State > Edit Properties > Clip State dialog
Create panel > Helpers > Object Type rollout > Crowd > Setup rollout > Cognitive Controllers Select a Crowd object. > Modify panel > Setup rollout > Cognitive Controllers
SurfaceArriveBhvr.getPos <Surface_Arrive_Behavior> <delegate_node>
Returns a Point3 value of the position that the delegate is arriving to at the time the function is called.
You can perform the following MAXScript operations:
deleteitem <array> <itemnumber><array> = #(item,item...)<array> = append <array> <item>
on all of the properties containing an ArrayParamater of objects listed below. You can also undo/redo these operations.
<Surface_Arrive_Behavior>.surfaces
The following MAXScript operations will cause Crowd to fail, either right away or later:
NEVER set a Crowd/Behavior ArrayParameter element to undefined.