Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Rect

A 2D Rectangle defined by X and Y position, width and height.
Read time 3 minutesLast updated 4 days ago

Definition

public struct Rect : IEquatable<Rect>, IFormattable

Remarks

Unity uses a number of 2D coordinate spaces, most of which define X as increasing to the right, and Y increasing upwards. The one exception is in the GUI and GUILayout classes, where Y increases downwards.
The following examples are illustrated in GUI space, where (0,0) represents the top-left corner and Y increases downwards.
Rectangles can be specified in two different ways. The first is with an Rect.x and Rect.y position and a Rect.width and Rect.height:
RectXY (Rect)
The previous image illustrates a rectangle formed by defining
x
and
y
and then extending
x
by
width
and
y
by
height
to form the rectangle's edges.
The other way is with the X and Y coordinates of each of its edges. These are called Rect.xMin, Rect.xMax, Rect.yMin and Rect.yMax:
RectXMinYMin (Rect)
The previous image illustrates a rectangle formed by defining
xMin
,
xMax
,
yMin
and
yMax
as the extreme points of the rectangle's edges.
Note that although
x
and
y
have the same values as
xMin
and
yMin
, they behave differently when you set them. Setting
x
or
y
changes the position of the rectangle, but preserves its size:
RectSetX (Rect)
In the previous image a rectangle remains the same size but shifts right when its
x
property increases.
Setting any of
xMin
,
xMax
,
yMin
and
yMax
will resize the rectangle, but preserve the position of the opposite edge:
RectSetXMin (Rect)
In the previous image, the value of
xMin
increases while
xMax
remains unchanged, which resizes the rectangle by reducing its width.

Constructors

Constructor

Description

Rect(System.Single,System.Single,System.Single,System.Single)Creates a new rectangle.
Rect(UnityEngine.Vector2,UnityEngine.Vector2)Creates a rectangle given a size and position.
Rect(UnityEngine.Vector2@,UnityEngine.Vector2@)Creates a rectangle given a size and position.

Properties

Property

Description

centerThe position of the center of the rectangle.
heightThe height of the rectangle, measured from the Y position.
maxThe position of the maximum corner of the rectangle.
minThe position of the minimum corner of the rectangle.
positionThe X and Y position of the rectangle.
sizeThe width and height of the rectangle.
widthThe width of the rectangle, measured from the X position.
xThe X coordinate of the rectangle.
xMaxThe maximum X coordinate of the rectangle.
xMinThe minimum X coordinate of the rectangle.
yThe Y coordinate of the rectangle.
yMaxThe maximum Y coordinate of the rectangle.
yMinThe minimum Y coordinate of the rectangle.

Static Properties

Property

Description

zeroShorthand for writing
new Rect(0,0,0,0)
.

Methods

Method

Description

ContainsReturns true if the
x
and
y
components of
point
is a point inside this rectangle. If
allowInverse
is present and true, the width and height of the Rect are allowed to take negative values (ie, the min value is greater than the max), and the test will still work.
OverlapsReturns true if the other rectangle overlaps this one. If
allowInverse
is present and true, the widths and heights of the Rects are allowed to take negative values (ie, the min value is greater than the max), and the test will still work.
SetSet components of an existing Rect.
ToStringReturns a formatted string for this
Rect
.

Static Methods

Method

Description

MinMaxRectCreates a rectangle from min/max coordinate values.
NormalizedToPointReturns a point inside a rectangle, given normalized coordinates.
PointToNormalizedReturns the normalized coordinates corresponding to the point.

Operators

Operator

Description

operator ==Returns true if the rectangles are the same.