Table of Contents

Class Maths

Namespace
VoxelPlayground.Utility
Assembly
GamePlay.dll
public static class Maths
Inheritance
object
Maths

Methods

CalculateRotatedBounds(Bounds, Vector3, Quaternion)

public static Bounds CalculateRotatedBounds(this Bounds localBounds, Vector3 position, Quaternion rotation)

Parameters

localBounds Bounds
position Vector3
rotation Quaternion

Returns

Bounds

Clamp(float, float, float)

public static float Clamp(this float value, float min, float max)

Parameters

value float
min float
max float

Returns

float

Clamp(float, Vector2)

public static float Clamp(this float value, Vector2 minMax)

Parameters

value float
minMax Vector2

Returns

float

ClampMagnitude(Vector3, float, float)

public static Vector3 ClampMagnitude(this Vector3 v, float radiusMin, float radiusMax)

Parameters

v Vector3
radiusMin float
radiusMax float

Returns

Vector3

ClampMax(float, float)

public static float ClampMax(this float value, float max)

Parameters

value float
max float

Returns

float

ClampMaxMagnitude(Vector3, float)

public static Vector3 ClampMaxMagnitude(this Vector3 v, float radiusMax)

Parameters

v Vector3
radiusMax float

Returns

Vector3

ClampMin(float, float)

public static float ClampMin(this float value, float min)

Parameters

value float
min float

Returns

float

ClampMinMagnitude(Vector3, float)

public static Vector3 ClampMinMagnitude(this Vector3 v, float radiusMin)

Parameters

v Vector3
radiusMin float

Returns

Vector3

ClampToAABB(Vector3, Vector3, Vector3)

public static Vector3 ClampToAABB(Vector3 min, Vector3 max, Vector3 point)

Parameters

min Vector3
max Vector3
point Vector3

Returns

Vector3

DominantAxis(Vector3)

将向量对齐到绝对值最大的轴方向(轴对齐) 例如 (3, 1, -2) -> (1, 0, 0), (-1, 5, 2) -> (0, 1, 0)

public static Vector3 DominantAxis(this Vector3 v)

Parameters

v Vector3

Returns

Vector3

FuzzyEquals(float, float, float)

public static bool FuzzyEquals(float a, float b, float E = 0.0001)

Parameters

a float
b float
E float

Returns

bool

InRange(float, Vector2)

public static bool InRange(this float val, Vector2 minmax)

Parameters

val float
minmax Vector2

Returns

bool

IntersectRaySphere(Vector3, Vector3, Vector3, float, out float, out float)

public static bool IntersectRaySphere(Vector3 ro, Vector3 rd, Vector3 ce, float ra, out float tNear, out float tFar)

Parameters

ro Vector3
rd Vector3
ce Vector3
ra float
tNear float
tFar float

Returns

bool

IsFinitePositive(float)

public static bool IsFinitePositive(this float val)

Parameters

val float

Returns

bool

IsFuzzyZero(float, float)

public static bool IsFuzzyZero(this float value, float epsilon = 1E-06)

Parameters

value float
epsilon float

Returns

bool

LerpSmooth(ref float, float, float)

public static float LerpSmooth(this ref float val, float target, float smoothness)

Parameters

val float
target float
smoothness float

Returns

float

Mul(Vector3, Vector3)

public static Vector3 Mul(this Vector3 v, Vector3 b)

Parameters

v Vector3
b Vector3

Returns

Vector3

MulX(Vector3, float)

public static Vector3 MulX(this Vector3 v, float mul)

Parameters

v Vector3
mul float

Returns

Vector3

MulXZ(Vector3, float)

public static Vector3 MulXZ(this Vector3 v, float mul)

Parameters

v Vector3
mul float

Returns

Vector3

MulY(Vector3, float)

public static Vector3 MulY(this Vector3 v, float y)

Parameters

v Vector3
y float

Returns

Vector3

MulZ(Vector3, float)

public static Vector3 MulZ(this Vector3 v, float mul)

Parameters

v Vector3
mul float

Returns

Vector3

NormalizeAngle(float)

public static float NormalizeAngle(this float angle)

Parameters

angle float

Returns

float

RoundToInt(Vector3)

public static int3 RoundToInt(this Vector3 v)

Parameters

v Vector3

Returns

int3

ScaleAngle(Quaternion, float)

public static Quaternion ScaleAngle(this Quaternion rot, float angleScalar)

Parameters

rot Quaternion
angleScalar float

Returns

Quaternion

SetElement(Vector3, int, float)

public static Vector3 SetElement(this Vector3 v, int ele, float val)

Parameters

v Vector3
ele int
val float

Returns

Vector3

SetX(Vector3, float)

public static Vector3 SetX(this Vector3 v, float x)

Parameters

v Vector3
x float

Returns

Vector3

SetY(Vector3, float)

public static Vector3 SetY(this Vector3 v, float y)

Parameters

v Vector3
y float

Returns

Vector3

SetZ(Vector3, float)

public static Vector3 SetZ(this Vector3 v, float z)

Parameters

v Vector3
z float

Returns

Vector3

sqr(float)

public static float sqr(this float v)

Parameters

v float

Returns

float

ToInt(float3)

public static int3 ToInt(this float3 v)

Parameters

v float3

Returns

int3

ToVec3(Vector3Int)

public static Vector3 ToVec3(this Vector3Int v)

Parameters

v Vector3Int

Returns

Vector3

TryNormalize(ref Vector3)

public static Vector3 TryNormalize(this ref Vector3 v)

Parameters

v Vector3

Returns

Vector3

VecMul(Vector3, Vector3)

public static Vector3 VecMul(this Vector3 v, Vector3 mul)

Parameters

v Vector3
mul Vector3

Returns

Vector3

x0y(Vector2)

public static Vector3 x0y(this Vector2 v)

Parameters

v Vector2

Returns

Vector3

xy(Vector3)

public static Vector2 xy(this Vector3 v)

Parameters

v Vector3

Returns

Vector2

xy0(Vector2)

public static Vector3 xy0(this Vector2 v)

Parameters

v Vector2

Returns

Vector3

xz(Vector3)

public static Vector2 xz(this Vector3 v)

Parameters

v Vector3

Returns

Vector2