Draw XXL documentation


Draw Basics 2D.RayUnderTension(...);

The ray that gets drawn with this function can be thought of as if it would be a spiral spring: It has a length where it is relaxed, but if you make it longer or shorter then the line style (which would be "spiral" for a spring) gets squeezed or stretched, but the number of spiral windings stays the same.
The ray can also change its color to visualize its stretch state.

Green parameters are required. Yellow parameters are optional, but have to be supplied in order.


static void DrawBasics2D.RayUnderTension(...);

Code snippet names: drawRayUnderTension2D and drawRayUnderTension2D_func.

Parameters:
Type Parameter Name Description
Vector2 start The start position of the line.
Vector2 direction The ray direction, mounted at start.
float relaxedLength
Color relaxedColor
LineStyle style
float stretchFactor_forStretchedTensionColor
Color color_forStretchedTension
float stretchFactor_forSqueezedTensionColor
Color color_forSqueezedTension
float width
string text
float alphaOfReferenceLengthDisplay
float custom_zPos The z position of the XY-plane inside which the thing is drawn. The default value is "infinity", which falls back to DrawBasic2D.Default_zPos_forDrawing.
float stylePatternScaleFactor
float endPlates_size The line can optinally have end position markers which are called "end plates" here. The styling of the end plates depends on the aforementioned "flattenThickRoundLineIntoAmplitudePlane" parameter. The size that is specified here is interpreted as relative to the line lenght or in absolute units according to the global end plates size interpretation setting. The global settings DrawBasics.disableEndPlates_atLineStart and DrawBasics.disableEndPlates_atLineEnd can be used to draw the plate only at one specific line end and leave the other end without plate.
float enlargeSmallTextToThisMinTextSize This only has effect if the "text" parameter is used. The normal behaviour of text is that it scales with the line lenght. Though depending on the situation the line may get very small, up until the text is not readable anymore. This parameter sets a limit for the minimum text size. The text carrying line may get shorter and shorter but the text can stay visible.
float durationInSec The duration in seconds how long the drawn thing stays visible. The default value of 0 means that it stays only during the current Update frame. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.
bool hiddenByNearerObjects This specifies if the drawn thing will get hidden if other geometry is in front of it or if it shines through. It is the same as the depthTest parameter of Unitys Debug.DrawLine(). Not all drawing methods support toggling this in the same way. For some methods the lines are fully hidden, for others the hidden lines shimmer through. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.
bool skipPatternEnlargementForLongLines
bool skipPatternEnlargementForShortLines