A Vertex Geometry Object.
This class consists of all the information required for a single vertex within a Face Geometry Object.
Faces, and thus Vertex objects, are used by the Mesh Game Object in order to render objects in WebGL.
Constructor
new Vertex(x, y, z, u, v, [color], [alpha], [nx], [ny], [nz])
Parameters
name | type | optional | default | description |
|---|---|---|---|---|
x | number | No | The x position of the vertex. | |
y | number | No | The y position of the vertex. | |
z | number | No | The z position of the vertex. | |
u | number | No | The UV u coordinate of the vertex. | |
v | number | No | The UV v coordinate of the vertex. | |
color | number | Yes | "0xffffff" | The color value of the vertex. |
alpha | number | Yes | 1 | The alpha value of the vertex. |
nx | number | Yes | 0 | The x normal value of the vertex. |
ny | number | Yes | 0 | The y normal value of the vertex. |
nz | number | Yes | 0 | The z normal value of the vertex. |
Scope: static
Extends
Source: src/geom/mesh/Vertex.js#L11
Since: 3.50.0
Public Members
alpha
alpha: number
Description:
The alpha value of this vertex.
Source: src/geom/mesh/Vertex.js#L133
Since: 3.50.0
color
color: number
Description:
The color value of this vertex.
Source: src/geom/mesh/Vertex.js#L124
Since: 3.50.0
nx
nx: number
Description:
The normalized projected x coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L79
Since: 3.50.0
ny
ny: number
Description:
The normalized projected y coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L88
Since: 3.50.0
nz
nz: number
Description:
The normalized projected z coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L97
Since: 3.50.0
ta
ta: number
Description:
The translated alpha value of this vertex.
Source: src/geom/mesh/Vertex.js#L160
Since: 3.50.0
tu
tu: number
Description:
The translated uv u coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L169
Since: 3.60.0
tv
tv: number
Description:
The translated uv v coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L178
Since: 3.60.0
tx
tx: number
Description:
The translated x coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L142
Since: 3.50.0
ty
ty: number
Description:
The translated y coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L151
Since: 3.50.0
u
u: number
Description:
UV u coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L106
Since: 3.50.0
v
v: number
Description:
UV v coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L115
Since: 3.50.0
vx
vx: number
Description:
The projected x coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L52
Since: 3.50.0
vy
vy: number
Description:
The projected y coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L61
Since: 3.50.0
vz
vz: number
Description:
The projected z coordinate of this vertex.
Source: src/geom/mesh/Vertex.js#L70
Since: 3.50.0
x
x: number
Description:
The x component of this Vector.
Inherits: Phaser.Math.Vector3#x
Source: src/math/Vector3.js#L33
Since: 3.0.0
y
y: number
Description:
The y component of this Vector.
Inherits: Phaser.Math.Vector3#y
Source: src/math/Vector3.js#L43
Since: 3.0.0
z
z: number
Description:
The z component of this Vector.
Inherits: Phaser.Math.Vector3#z
Source: src/math/Vector3.js#L53
Since: 3.0.0
Public Methods
add
<instance> add(v)
Description:
Add a given Vector to this Vector. Addition is component-wise.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to add to this Vector. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#add
Source: src/math/Vector3.js#L337
Since: 3.0.0
addScalar
<instance> addScalar(s)
Description:
Add the given value to each component of this Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
s | number | No | The amount to add to this Vector. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#addScalar
Source: src/math/Vector3.js#L356
Since: 3.50.0
addScale
<instance> addScale(v, scale)
Description:
Add and scale a given Vector to this Vector. Addition is component-wise.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to add to this Vector. | |
scale | number | No | The amount to scale |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#addScale
Source: src/math/Vector3.js#L375
Since: 3.50.0
addVectors
<instance> addVectors(a, b)
Description:
Adds the two given Vector3s and sets the results into this Vector3.
Parameters:
name | type | optional | description |
|---|---|---|---|
a | No | The first Vector to add. | |
b | No | The second Vector to add. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#addVectors
Source: src/math/Vector3.js#L147
Since: 3.50.0
applyMatrix3
<instance> applyMatrix3(mat3)
Description:
Takes a Matrix3 and applies it to this Vector3.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat3 | No | The Matrix3 to apply to this Vector3. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#applyMatrix3
Source: src/math/Vector3.js#L671
Since: 3.50.0
applyMatrix4
<instance> applyMatrix4(mat4)
Description:
Takes a Matrix4 and applies it to this Vector3.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat4 | No | The Matrix4 to apply to this Vector3. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#applyMatrix4
Source: src/math/Vector3.js#L695
Since: 3.50.0
clone
<instance> clone()
Description:
Make a clone of this Vector3.
Returns: Phaser.Math.Vector3 - A new Vector3 object containing this Vectors values.
Inherits: Phaser.Math.Vector3#clone
Source: src/math/Vector3.js#L134
Since: 3.0.0
copy
<instance> copy(src)
Description:
Copy the components of a given Vector into this Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
src | No | The Vector to copy the components from. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#copy
Source: src/math/Vector3.js#L231
Since: 3.0.0
cross
<instance> cross(v)
Description:
Calculate the cross (vector) product of this Vector (which will be modified) and the given Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to cross product with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#cross
Source: src/math/Vector3.js#L617
Since: 3.0.0
crossVectors
<instance> crossVectors(a, b)
Description:
Calculate the cross (vector) product of two given Vectors.
Parameters:
name | type | optional | description |
|---|---|---|---|
a | No | The first Vector to multiply. | |
b | No | The second Vector to multiply. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#crossVectors
Source: src/math/Vector3.js#L187
Since: 3.0.0
distance
<instance> distance(v)
Description:
Calculate the distance between this Vector and the given Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to calculate the distance to. |
Returns: number - The distance from this Vector to the given Vector.
Inherits: Phaser.Math.Vector3#distance
Source: src/math/Vector3.js#L501
Since: 3.0.0
distanceSq
<instance> distanceSq(v)
Description:
Calculate the distance between this Vector and the given Vector, squared.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to calculate the distance to. |
Returns: number - The distance from this Vector to the given Vector, squared.
Inherits: Phaser.Math.Vector3#distanceSq
Source: src/math/Vector3.js#L520
Since: 3.0.0
divide
<instance> divide(v)
Description:
Perform a component-wise division between this Vector and the given Vector.
Divides this Vector by the given Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to divide this Vector by. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#divide
Source: src/math/Vector3.js#L463
Since: 3.0.0
dot
<instance> dot(v)
Description:
Calculate the dot product of this Vector and the given Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector3 to dot product with this Vector3. |
Returns: number - The dot product of this Vector and v.
Inherits: Phaser.Math.Vector3#dot
Source: src/math/Vector3.js#L602
Since: 3.0.0
equals
<instance> equals(v)
Description:
Check whether this Vector is equal to a given Vector.
Performs a strict equality check against each Vector's components.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector3 to compare against. |
Returns: boolean - True if the two vectors strictly match, otherwise false.
Inherits: Phaser.Math.Vector3#equals
Source: src/math/Vector3.js#L214
Since: 3.0.0
fromArray
<instance> fromArray(array, [offset])
Description:
Sets the components of this Vector3 from the given array, based on the offset.
Vector3.x = array[offset]
Vector3.y = array[offset + 1]
Vector3.z = array[offset + 2]
Parameters:
name | type | optional | default | description |
|---|---|---|---|---|
array | Array.<number> | No | The array of values to get this Vector from. | |
offset | number | Yes | 0 | The offset index into the array. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#fromArray
Source: src/math/Vector3.js#L311
Since: 3.50.0
length
<instance> length()
Description:
Calculate the length (or magnitude) of this Vector.
Returns: number - The length of this Vector.
Inherits: Phaser.Math.Vector3#length
Source: src/math/Vector3.js#L539
Since: 3.0.0
lengthSq
<instance> lengthSq()
Description:
Calculate the length of this Vector squared.
Returns: number - The length of this Vector, squared.
Inherits: Phaser.Math.Vector3#lengthSq
Source: src/math/Vector3.js#L556
Since: 3.0.0
lerp
<instance> lerp(v, [t])
Description:
Linearly interpolate between this Vector and the given Vector.
Interpolates this Vector towards the given Vector.
Parameters:
name | type | optional | default | description |
|---|---|---|---|---|
v | No | The Vector3 to interpolate towards. | ||
t | number | Yes | 0 | The interpolation percentage, between 0 and 1. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#lerp
Source: src/math/Vector3.js#L643
Since: 3.0.0
load
<instance> load(F32, U32, offset, textureUnit, tintEffect)
Description:
Loads the data from this Vertex into the given Typed Arrays.
Parameters:
name | type | optional | description |
|---|---|---|---|
F32 | Float32Array | No | A Float32 Array to insert the position, UV and unit data in to. |
U32 | Uint32Array | No | A Uint32 Array to insert the color and alpha data in to. |
offset | number | No | The index of the array to insert this Vertex to. |
textureUnit | number | No | The texture unit currently in use. |
tintEffect | number | No | The tint effect to use. |
Returns: number - The new array offset.
Source: src/geom/mesh/Vertex.js#L379
Since: 3.50.0
max
<instance> max(v)
Description:
Sets the components of this Vector to be the Math.max result from the given vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector3 to check the maximum values against. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#max
Source: src/math/Vector3.js#L115
Since: 3.50.0
min
<instance> min(v)
Description:
Sets the components of this Vector to be the Math.min result from the given vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector3 to check the minimum values against. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#min
Source: src/math/Vector3.js#L96
Since: 3.50.0
multiply
<instance> multiply(v)
Description:
Perform a component-wise multiplication between this Vector and the given Vector.
Multiplies this Vector by the given Vector.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to multiply this Vector by. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#multiply
Source: src/math/Vector3.js#L414
Since: 3.0.0
negate
<instance> negate()
Description:
Negate the x, y and z components of this Vector.
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#negate
Source: src/math/Vector3.js#L484
Since: 3.0.0
normalize
<instance> normalize()
Description:
Normalize this Vector.
Makes the vector a unit length vector (magnitude of 1) in the same direction.
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#normalize
Source: src/math/Vector3.js#L573
Since: 3.0.0
project
<instance> project(mat)
Description:
Multiplies this Vector3 by the specified matrix, applying a W divide. This is useful for projection,
e.g. unprojecting a 2D point into 3D space.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat | No | The Matrix4 to multiply this Vector3 with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#project
Source: src/math/Vector3.js#L833
Since: 3.0.0
projectViewMatrix
<instance> projectViewMatrix(viewMatrix, projectionMatrix)
Description:
Multiplies this Vector3 by the given view and projection matrices.
Parameters:
name | type | optional | description |
|---|---|---|---|
viewMatrix | No | A View Matrix. | |
projectionMatrix | No | A Projection Matrix. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#projectViewMatrix
Source: src/math/Vector3.js#L877
Since: 3.50.0
reset
<instance> reset()
Description:
Make this Vector the zero vector (0, 0, 0).
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#reset
Source: src/math/Vector3.js#L945
Since: 3.0.0
resize
<instance> resize(x, y, width, height, originX, originY)
Description:
Resizes this Vertex by setting the x and y coordinates, then transforms this vertex
by an identity matrix and dimensions, storing the results in vx, vy and vz.
Parameters:
name | type | optional | description |
|---|---|---|---|
x | number | No | The x position of the vertex. |
y | number | No | The y position of the vertex. |
width | number | No | The width of the parent Mesh. |
height | number | No | The height of the parent Mesh. |
originX | number | No | The originX of the parent Mesh. |
originY | number | No | The originY of the parent Mesh. |
Returns: Phaser.Geom.Mesh.Vertex - This Vertex.
Source: src/geom/mesh/Vertex.js#L298
Since: 3.60.0
scale
<instance> scale(scale)
Description:
Scale this Vector by the given value.
Parameters:
name | type | optional | description |
|---|---|---|---|
scale | number | No | The value to scale this Vector by. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#scale
Source: src/math/Vector3.js#L435
Since: 3.0.0
scaleUV
<instance> scaleUV(x, y)
Description:
Scales the original UV values by the given amounts.
The original properties Vertex.u and Vertex.v
remain unchanged, only the translated properties
Vertex.tu and Vertex.tv, as used in rendering,
are updated.
Parameters:
name | type | optional | description |
|---|---|---|---|
x | number | No | The amount to scale the UV u coordinate by. |
y | number | No | The amount to scale the UV v coordinate by. |
Returns: Phaser.Geom.Mesh.Vertex - This Vertex.
Source: src/geom/mesh/Vertex.js#L237
Since: 3.60.0
scrollUV
<instance> scrollUV(x, y)
Description:
Translates the original UV positions by the given amounts.
The original properties Vertex.u and Vertex.v
remain unchanged, only the translated properties
Vertex.tu and Vertex.tv, as used in rendering,
are updated.
Parameters:
name | type | optional | description |
|---|---|---|---|
x | number | No | The amount to scroll the UV u coordinate by. |
y | number | No | The amount to scroll the UV v coordinate by. |
Returns: Phaser.Geom.Mesh.Vertex - This Vertex.
Source: src/geom/mesh/Vertex.js#L213
Since: 3.60.0
set
<instance> set(x, [y], [z])
Description:
Set the x, y, and z components of this Vector to the given x, y, and z values.
Parameters:
name | type | optional | description |
|---|---|---|---|
x | number | object | No | The x value to set for this Vector, or an object containing x, y and z components. |
y | number | Yes | The y value to set for this Vector. |
z | number | Yes | The z value to set for this Vector. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#set
Source: src/math/Vector3.js#L250
Since: 3.0.0
setFromMatrixColumn
<instance> setFromMatrixColumn(mat4, index)
Description:
Sets the components of this Vector3 from the Matrix4 column specified.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat4 | No | The Matrix4 to get the column from. | |
index | number | No | The column index. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#setFromMatrixColumn
Source: src/math/Vector3.js#L295
Since: 3.50.0
setFromMatrixPosition
<instance> setFromMatrixPosition(mat4)
Description:
Sets the components of this Vector3 from the position of the given Matrix4.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat4 | No | The Matrix4 to get the position from. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#setFromMatrixPosition
Source: src/math/Vector3.js#L280
Since: 3.50.0
setUVs
<instance> setUVs(u, v)
Description:
Sets the U and V properties.
Also resets the translated uv properties, undoing any scale
or shift they may have had.
Parameters:
name | type | optional | description |
|---|---|---|---|
u | number | No | The UV u coordinate of the vertex. |
v | number | No | The UV v coordinate of the vertex. |
Returns: Phaser.Geom.Mesh.Vertex - This Vertex.
Source: src/geom/mesh/Vertex.js#L188
Since: 3.50.0
subtract
<instance> subtract(v)
Description:
Subtract the given Vector from this Vector. Subtraction is component-wise.
Parameters:
name | type | optional | description |
|---|---|---|---|
v | No | The Vector to subtract from this Vector. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#subtract
Source: src/math/Vector3.js#L395
Since: 3.0.0
subVectors
<instance> subVectors(a, b)
Description:
Subtracts the two given Vector3s and sets the results into this Vector3.
Parameters:
name | type | optional | description |
|---|---|---|---|
a | No | The first Vector to sub. | |
b | No | The second Vector to sub. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#subVectors
Source: src/math/Vector3.js#L167
Since: 3.85.0
transformCoordinates
<instance> transformCoordinates(mat)
Description:
Transforms the coordinates of this Vector3 with the given Matrix4.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat | No | The Matrix4 to transform this Vector3 with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#transformCoordinates
Source: src/math/Vector3.js#L769
Since: 3.0.0
transformCoordinatesLocal
<instance> transformCoordinatesLocal(transformMatrix, width, height, cameraZ)
Description:
Transforms this vertex by the given matrix, storing the results in vx, vy and vz.
Parameters:
name | type | optional | description |
|---|---|---|---|
transformMatrix | No | The transform matrix to apply to this vertex. | |
width | number | No | The width of the parent Mesh. |
height | number | No | The height of the parent Mesh. |
cameraZ | number | No | The z position of the MeshCamera. |
Source: src/geom/mesh/Vertex.js#L261
Since: 3.50.0
transformMat3
<instance> transformMat3(mat)
Description:
Transform this Vector with the given Matrix.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat | No | The Matrix3 to transform this Vector3 with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#transformMat3
Source: src/math/Vector3.js#L721
Since: 3.0.0
transformMat4
<instance> transformMat4(mat)
Description:
Transform this Vector with the given Matrix4.
Parameters:
name | type | optional | description |
|---|---|---|---|
mat | No | The Matrix4 to transform this Vector3 with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#transformMat4
Source: src/math/Vector3.js#L745
Since: 3.0.0
transformQuat
<instance> transformQuat(q)
Description:
Transform this Vector with the given Quaternion.
Parameters:
name | type | optional | description |
|---|---|---|---|
q | No | The Quaternion to transform this Vector with. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#transformQuat
Source: src/math/Vector3.js#L798
Since: 3.0.0
unproject
<instance> unproject(viewport, invProjectionView)
Description:
Unproject this point from 2D space to 3D space.
The point should have its x and y properties set to
2D screen space, and the z either at 0 (near plane)
or 1 (far plane). The provided matrix is assumed to already
be combined, i.e. projection * view * model.
After this operation, this vector's (x, y, z) components will
represent the unprojected 3D coordinate.
Parameters:
name | type | optional | description |
|---|---|---|---|
viewport | No | Screen x, y, width and height in pixels. | |
invProjectionView | No | Combined projection and view matrix. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#unproject
Source: src/math/Vector3.js#L909
Since: 3.0.0
unprojectViewMatrix
<instance> unprojectViewMatrix(projectionMatrix, worldMatrix)
Description:
Multiplies this Vector3 by the given inversed projection matrix and world matrix.
Parameters:
name | type | optional | description |
|---|---|---|---|
projectionMatrix | No | An inversed Projection Matrix. | |
worldMatrix | No | A World View Matrix. |
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#unprojectViewMatrix
Source: src/math/Vector3.js#L893
Since: 3.50.0
up
<instance> up()
Description:
Set this Vector to point up.
Sets the y component of the vector to 1, and the others to 0.
Returns: Phaser.Math.Vector3 - This Vector3.
Inherits: Phaser.Math.Vector3#up
Source: src/math/Vector3.js#L77
Since: 3.0.0
update
<instance> update(a, b, c, d, e, f, roundPixels, alpha)
Description:
Updates this Vertex based on the given transform.
Parameters:
name | type | optional | description |
|---|---|---|---|
a | number | No | The parent transform matrix data a component. |
b | number | No | The parent transform matrix data b component. |
c | number | No | The parent transform matrix data c component. |
d | number | No | The parent transform matrix data d component. |
e | number | No | The parent transform matrix data e component. |
f | number | No | The parent transform matrix data f component. |
roundPixels | boolean | No | Round the vertex position or not? |
alpha | number | No | The alpha of the parent object. |
Returns: Phaser.Geom.Mesh.Vertex - This Vertex.
Source: src/geom/mesh/Vertex.js#L344
Since: 3.50.0