reckfellENGINE

Vector3

Трёхкомпонентное значение для 3D-координат и вычислений.

На этой странице
struct Vector3ReckfellSharpНаследует ValueType

Различайте позицию, смещение, скорость и нормаль, даже если все представлены Vector3. В 3D Y направлен вверх, Forward = (0,0,−1), Back = (0,0,1). Right.Cross(Up) даёт Back. Vector3.One имеет длину √3, а не 1.

Нормализация не сохраняет расстояние; Zero не определяет направление. Учитывайте пространство родителя и масштаб: Transform3D × точка включает перенос, Basis × вектор — нет. Для нормали под неравномерным масштабом нужен обратный транспонированный Basis.

Практическое руководство.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

Vector3Конструктор
# Vector3
C#
public Vector3(float x, float y, float z);

Возвращает Vector3 с заданными компонентами.

Параметры
ИмяТипПо умолчанию
xfloat—
yfloat—
zfloat—
x

Вектор - компонент Х.

y

Компонент вектора Y.

z

Вектор - компонент Z.

Свойства16

BackСвойство
# Back
C#
public static Vector3 Back { get; }

Вектор единицы назад. Представляет локальное направление назад и глобальное направление юг.

DownСвойство
# Down
C#
public static Vector3 Down { get; }

Нижний единичный вектор.

ForwardСвойство
# Forward
C#
public static Vector3 Forward { get; }

Прямой единичный вектор. Представляет локальное направление вперед и глобальное направление на север. Помните, что прямое направление для источников света, камер и т. д. отличается от 3D-ресурсов, таких как персонажи, которые по соглашению обращены лицом к камере. Используйте Vector3.ModelFront и подобные константы при работе в пространстве 3D-ресурсов.

InfСвойство
# Inf
C#
public static Vector3 Inf { get; }

Вектор бесконечности, вектор со всеми компонентами @C#.INF.

ItemСвойство
# Item
C#
public float this[int index] { get; set; }

Доступ к компонентам вектора с использованием их индекса.

LeftСвойство
# Left
C#
public static Vector3 Left { get; }

Левый единичный вектор. Представляет локальное направление налево и глобальное направление запад.

ModelBottomСвойство
# ModelBottom
C#
public static Vector3 ModelBottom { get; }

Единичный вектор, направленный к нижней стороне (down) импортированных 3D-ресурсов.

ModelFrontСвойство
# ModelFront
C#
public static Vector3 ModelFront { get; }

Единичный вектор, направленный к передней стороне (лицом вперед) импортированных 3D-ресурсов.

ModelLeftСвойство
# ModelLeft
C#
public static Vector3 ModelLeft { get; }

Единичный вектор, направленный в левую сторону импортированных 3D-ресурсов.

МОДЕЛИ

ModelRearСвойство
# ModelRear
C#
public static Vector3 ModelRear { get; }

Единичный вектор, направленный к задней стороне (back) импортированных 3D-ресурсов.

ModelRightСвойство
# ModelRight
C#
public static Vector3 ModelRight { get; }

Единичный вектор, направленный в правую сторону импортированных 3D-ресурсов.

ModelTopСвойство
# ModelTop
C#
public static Vector3 ModelTop { get; }

Единичный вектор, направленный к верхней стороне (up) импортированных 3D-ресурсов.

OneСвойство
# One
C#
public static Vector3 One { get; }

Вектор-единица — вектор у которого все координаты равны 1.

RightСвойство
# Right
C#
public static Vector3 Right { get; }

Правый единичный вектор. Представляет локальное направление вправо и глобальное направление на восток.

UpСвойство
# Up
C#
public static Vector3 Up { get; }

Верхний единичный вектор.

ZeroСвойство
# Zero
C#
public static Vector3 Zero { get; }

Нулевой вектор — вектор у которого все координаты равны 0.

Методы71

AbsVector3
# Abs
C#
public Vector3 Abs();

Возвращает новый вектор в котором все компоненты будут абсолютными значениями (т.е положительными).

Возвращает Vector3

Вектор с Mathf.Abs запрашиваемый каждый компонент.

AngleTofloat
# AngleTo
C#
public float AngleTo(Vector3 to);

Возвращает беззнаковый минимальный угол к заданному вектору в радианах.

Параметры
ИмяТипПо умолчанию
toVector3—
to

Другой вектор для сравнения этого вектора.

Возвращает float

Неподписанный угол между двумя векторами в радианах.

BezierDerivativeVector3
# BezierDerivative
C#
public Vector3 BezierDerivative(Vector3 control1, Vector3 control2, Vector3 end, float t);

Возвращает производную по заданному t на кривой Безье, определенной этим вектором и заданными точками control_1, control_2 и end.

Параметры
ИмяТипПо умолчанию
control1Vector3—
control2Vector3—
endVector3—
tfloat—
control1

Control точка, определяющая кривую безиера.

control2

Control точка, определяющая кривую безиера.

end

Значение пункта назначения для интерполяции.

t

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Получаемое значение интерполяции.

BezierInterpolateVector3
# BezierInterpolate
C#
public Vector3 BezierInterpolate(Vector3 control1, Vector3 control2, Vector3 end, float t);

Возвращает точку с заданным t на кривой Безье, определенной этим вектором и заданными точками control_1, control_2 и end.

Параметры
ИмяТипПо умолчанию
control1Vector3—
control2Vector3—
endVector3—
tfloat—
control1

Control точка, определяющая кривую безиера.

control2

Control точка, определяющая кривую безиера.

end

Вектор назначения.

t

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Вектор интерполяции.

BounceVector3
# Bounce
C#
public Vector3 Bounce(Vector3 normal);

Возвращает вектор, "отскочивший" от плоскости, определенной заданной нормалью n. Примечание: Vector3.Bounce выполняет операцию, которую большинство движков и фреймворков называют [пропуск кода]reflect()`.

Сейл

Параметры
ИмяТипПо умолчанию
normalVector3—
normal

Обычный вектор, определяющий, что плоскость должна отскочить.

Возвращает Vector3

Отскочивший вектор.

CeilVector3
# Ceil
C#
public Vector3 Ceil();

Возвращает новый вектор, все компоненты которого округлены в большую сторону (в сторону положительной бесконечности).

Возвращает Vector3

Вектор с Mathf.Ceil запрашиваемый каждый компонент.

Clamp2 перегрузки
# Clamp · 1/2
C#
public Vector3 Clamp(Vector3 min, Vector3 max);

Возвращает новый вектор со всеми компонентами, зажатыми между компонентами Vector3.Min и Vector3.Max, путем запуска @GlobalScope.clamp для каждого компонента.

Параметры
ИмяТипПо умолчанию
minVector3—
maxVector3—
min

Вектор с минимальными допустимыми значениями.

max

Вектор с максимальными допустимыми значениями.

Возвращает Vector3

Вектор с зажимом всех компонентов.

# Clamp · 2/2
C#
public Vector3 Clamp(float min, float max);

Возвращает новый вектор со всеми компонентами, зажатыми между компонентами Vector3.Min и Vector3.Max, путем запуска @GlobalScope.clamp для каждого компонента.

Параметры
ИмяТипПо умолчанию
minfloat—
maxfloat—
min

Минимальное допустимое значение.

max

Максимально допустимое значение.

Возвращает Vector3

Вектор с зажимом всех компонентов.

CrossVector3
# Cross
C#
public Vector3 Cross(Vector3 with);

Возвращает перпендикулярный вектор с длиной, зависящей от входов и угла. Right.Cross(Up) = Back (+Z); Forward в Reckfell — −Z.

Параметры
ИмяТипПо умолчанию
withVector3—
with

Другой вектор.

Возвращает Vector3

Перекрестный вектор продукта.

CubicInterpolateVector3
# CubicInterpolate
C#
public Vector3 CubicInterpolate(Vector3 b, Vector3 preA, Vector3 postB, float weight);

Осуществляет кубическую интерполяцию между этим вектором и b использование pre_a и post_b как ручки, и возвращает результат в положение weight. weight находится в диапазоне: 0.0 в адрес 1.0, представляющее собой сумму интерполяции.

Параметры
ИмяТипПо умолчанию
bVector3—
preAVector3—
postBVector3—
weightfloat—
b

Вектор назначения.

preA

Вектор перед этим вектором.

postB

Вектор после b.

weight

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Вектор интерполяции.

CubicInterpolateInTimeVector3
# CubicInterpolateInTime
C#
public Vector3 CubicInterpolateInTime(Vector3 b, Vector3 preA, Vector3 postB, float weight, float t, float preAT, float postBT);

Осуществляет кубическую интерполяцию между этим вектором и b использование pre_a и post_b как ручки, и возвращает результат в положение weight. weight находится в диапазоне: 0.0 в адрес 1.0, представляющее собой сумму интерполяции. Он может осуществлять более гладкую интерполяцию, чем Vector3.CubicInterpolate по временным значениям.

Параметры
ИмяТипПо умолчанию
bVector3—
preAVector3—
postBVector3—
weightfloat—
tfloat—
preATfloat—
postBTfloat—
b

Вектор назначения.

preA

Вектор перед этим вектором.

postB

Вектор после b.

weight

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Вектор интерполяции.

Deconstructvoid
# Deconstruct
C#
public void Deconstruct(out float x, out float y, out float z);

Метод помощи для вывода из строя тюпля.

Параметры
ИмяТипПо умолчанию
xfloat—
yfloat—
zfloat—
DirectionToVector3
# DirectionTo
C#
public Vector3 DirectionTo(Vector3 to);

Возвращает нормализованный вектор, указывающий из этого вектора на to. a.direction_to(b) эквивалентно (b - a).normalized(). См. также Vector3.Normalized.

Параметры
ИмяТипПо умолчанию
toVector3—
to

Другой вектор указывает в сторону.

Возвращает Vector3

Направление от этого вектора до to.

DistanceSquaredTofloat
# DistanceSquaredTo
C#
public float DistanceSquaredTo(Vector3 to);

Возвращает квадрат евклидова расстояния между этим вектором и to. Этот метод работает быстрее, чем Vector3.DistanceTo, поэтому предпочитайте его, если вам нужно сравнить векторы или вам нужен квадрат расстояния для какой-либо формулы.

Параметры
ИмяТипПо умолчанию
toVector3—
to

Другой вектор для использования.

Возвращает float

Расстояние в квадрате между двумя векторами.

DistanceTofloat
# DistanceTo
C#
public float DistanceTo(Vector3 to);

Возвращает евклидово расстояние между этим вектором и to.

Параметры
ИмяТипПо умолчанию
toVector3—
to

Другой вектор для использования.

Возвращает float

Расстояние между двумя векторами.

Dotfloat
# Dot
C#
public float Dot(Vector3 with);

Возвращает скалярное произведение этого вектора и with. Это можно использовать для сравнения угла между двумя векторами. Например, это можно использовать для определения того, смотрит ли враг на игрока. Скалярное произведение будет равно 0 для прямого угла (90 градусов), больше 0 для углов уже 90 градусов и меньше 0 для углов шире 90 градусов. При использовании единичных (нормализованных) векторов результат всегда будет между -1.0 (угол 180 градусов), когда векторы смотрят в противоположных направлениях, и 1.0 (угол 0 градусов), когда векторы выровнены. Примечание: a.dot(b) эквивалентно b.dot(a).

Параметры
ИмяТипПо умолчанию
withVector3—
with

Другой вектор для использования.

Возвращает float

Точный продукт двух векторов.

Equals2 перегрузки
# Equals · 1/2
C#
public bool Equals(Vector3 other);

Returns (Возврат) true если векторы точно равны. Примечание: Из-за ошибок в точности в плавающей точке рассмотреть вопрос об использовании Vector3.IsEqualApprox вместо этого, что более надежно.

Параметры
ИмяТипПо умолчанию
otherVector3—
other

Другой вектор.

Возвращает bool

Векторы равны или нет.

# Equals · 2/2
C#
public override bool Equals(object? obj);

Returns (Возврат) true если вектор точно равен к данному объектуobj). Примечание: Из-за ошибок в точности в плавающей точке рассмотреть вопрос об использовании Vector3.IsEqualApprox вместо этого, что более надежно.

Параметры
ИмяТипПо умолчанию
objobject—
obj

Объект, с которым можно сравниться.

Возвращает bool

Равно ли вектор и объект равны.

FloorVector3
# Floor
C#
public Vector3 Floor();

Возвращает новый вектор, все компоненты которого округлены в меньшую сторону (в сторону отрицательной бесконечности).

Возвращает Vector3

Вектор с Mathf.Floor запрашиваемый каждый компонент.

GetHashCodeint
# GetHashCode
C#
public override int GetHashCode();

Выполняет функцию хеширования Vector3.

Возвращает int

Код хэша для этого вектора.

InverseVector3
# Inverse
C#
public Vector3 Inverse();

Возвращает обратный вектор. Это то же самое, что Vector3(1.0 / v.x, 1.0 / v.y, 1.0 / v.z).

###=равный_ примерно

Возвращает Vector3

Обратная сторона этого вектора.

IsEqualApproxbool
# IsEqualApprox
C#
public bool IsEqualApprox(Vector3 other);

Возвращает true, если этот вектор и to приблизительно равны, путем запуска @GlobalScope.is_equal_approx для каждого компонента.

Параметры
ИмяТипПо умолчанию
otherVector3—
other

Другой вектор для сравнения.

Возвращает bool

Векторы примерно равны.

IsFinitebool
# IsFinite
C#
public bool IsFinite();

Возвращает true, если этот вектор конечен, вызывая @GlobalScope.is_finite для каждого компонента.

Возвращает bool

Является ли этот вектор конечным или нет.

IsNormalizedbool
# IsNormalized
C#
public bool IsNormalized();

Возвращает true, если вектор нормализован, т.е. его длина приблизительно равна 1.

###=0_ примерно

Возвращает bool

A bool , указывающее, нормализован ли вектор.

IsZeroApproxbool
# IsZeroApprox
C#
public bool IsZeroApprox();

Возвращает true, если значения этого вектора приблизительно равны нулю, выполняя @GlobalScope.is_zero_approx для каждого компонента. Этот метод быстрее, чем использование Vector3.IsEqualApprox с одним значением в качестве нулевого вектора.

Возвращает bool

Является ли вектор примерно нулевым.

Lengthfloat
# Length
C#
public float Length();

Возвращает длину (величину) данного вектора.

Возвращает float

Длина этого вектора.

LengthSquaredfloat
# LengthSquared
C#
public float LengthSquared();

Возвращает длину данного вектора в квадрате. Этот метод выполняется быстрее, чем Vector3.Length, поэтому он предпочтительнее если вам нужно сравнить векторы или нужно расстояние в квадрате для какой-либо формулы.

Возвращает float

Длина в квадрате этого вектора.

LerpVector3
# Lerp
C#
public Vector3 Lerp(Vector3 to, float weight);

Возвращает результат линейной интерполяции между данным вектором и to на величину weight. weight находится в диапазоне от 0.0 до 1.0, что представляет собой величину интерполяции.

Параметры
ИмяТипПо умолчанию
toVector3—
weightfloat—
to

Вектор назначения для интерполяции.

weight

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Вектор интерполяции.

LimitLengthVector3
# LimitLength
C#
public Vector3 LimitLength(float length = 1f);

Возвращает вектор с максимальной длиной, ограничивая его длину до Vector3.Length. Если вектор не конечен, результат не определен.

Параметры
ИмяТипПо умолчанию
lengthfloat1f
length

Длина, которую можно ограничить.

Возвращает Vector3

Вектор с его длиной ограничен.

Max2 перегрузки
# Max · 1/2
C#
public Vector3 Max(Vector3 with);

Возвращает покомпонентный максимум этого и with, что эквивалентно Vector3(maxf(x, with.x), maxf(y, with.y), maxf(z, with.z)).

Параметры
ИмяТипПо умолчанию
withVector3—
with

Другой вектор для использования.

Возвращает Vector3

Полученный максимальный вектор.

# Max · 2/2
C#
public Vector3 Max(float with);

Возвращает покомпонентный максимум этого и with, что эквивалентно Vector3(maxf(x, with.x), maxf(y, with.y), maxf(z, with.z)).

Параметры
ИмяТипПо умолчанию
withfloat—
with

Другое значение для использования.

Возвращает Vector3

Полученный максимальный вектор.

MaxAxisIndexVector3.Axis
# MaxAxisIndex
C#
public Vector3.Axis MaxAxisIndex();

Возвращает ось наибольшего значения вектора. См. константы AXIS_*. Если все компоненты равны, этот метод возвращает Vector3.Axis.X.

Возвращает Vector3.Axis

Индекс верхней оси.

Min2 перегрузки
# Min · 1/2
C#
public Vector3 Min(Vector3 with);

Возвращает покомпонентный минимум этого и with, эквивалентный Vector3(minf(x, with.x), minf(y, with.y), minf(z, with.z)).

Параметры
ИмяТипПо умолчанию
withVector3—
with

Другой вектор для использования.

Возвращает Vector3

Получаемый минимальный вектор.

# Min · 2/2
C#
public Vector3 Min(float with);

Возвращает покомпонентный минимум этого и with, эквивалентный Vector3(minf(x, with.x), minf(y, with.y), minf(z, with.z)).

Параметры
ИмяТипПо умолчанию
withfloat—
with

Другое значение для использования.

Возвращает Vector3

Получаемый минимальный вектор.

MinAxisIndexVector3.Axis
# MinAxisIndex
C#
public Vector3.Axis MinAxisIndex();

Возвращает ось наименьшего значения вектора. См. константы AXIS_*. Если все компоненты равны, этот метод возвращает Vector3.Axis.Z.

Возвращает Vector3.Axis

Указатель нижней оси.

MoveTowardVector3
# MoveToward
C#
public Vector3 MoveToward(Vector3 to, float delta);

Возвращает новый вектор, смещенный к to на фиксированную величину delta. Не выйдет за пределы конечного значения.

Параметры
ИмяТипПо умолчанию
toVector3—
deltafloat—
to

Вектор, к которому нужно двигаться.

delta

Всё, что нужно сделать.

Возвращает Vector3

Получаемый вектор.

NormalizedVector3
# Normalized
C#
public Vector3 Normalized();

Возвращает результат масштабирования вектора до единичной длины. Эквивалентно v / v.length(). Возвращает (0, 0, 0), если v.length() == 0. См. также Vector3.IsNormalized. Примечание: Эта функция может возвращать неверные значения, если длина входного вектора близка к нулю.

Возвращает Vector3

Нормализованная версия вектора.

OctahedronDecodeVector3
# OctahedronDecode
C#
public static Vector3 OctahedronDecode(Vector2 oct);

Возвращает Vector3 из октаэдрически сжатой формы, созданной с помощью Vector3.OctahedronEncode (сохраненной как Vector2).

Параметры
ИмяТипПо умолчанию
octVector2—
oct

Закодировано Vector2

Возвращает Vector3

Декодированная нормализованная Vector3.

OctahedronEncodeVector2
# OctahedronEncode
C#
public Vector2 OctahedronEncode();

Возвращает октаэдрически закодированную (oct32) форму этого Vector3 как Vector2. Поскольку Vector2 занимает на 1/3 меньше памяти по сравнению с Vector3, эта форма сжатия может использоваться для передачи большего количества Vector3.Normalized Vector3 без увеличения требований к хранению или памяти. См. также Vector3.OctahedronDecode. Примечание: Vector3.OctahedronEncode может использоваться только для Vector3.Normalized векторов. Vector3.OctahedronEncode не проверяет, нормализован ли этот Vector3, и вернет значение, которое не распаковывается до исходного значения, если Vector3 не нормализован. Примечание: Октаэдрическое сжатие с потерями, хотя визуальные различия редко заметны в реальных сценариях.

Возвращает Vector2

Закодировано Vector2.

OuterBasis
# Outer
C#
public Basis Outer(Vector3 with);

Возвращает внешний продукт с with.

Параметры
ИмяТипПо умолчанию
withVector3—
with

Другой вектор.

Возвращает Basis

A Basis представляет матрицу внешнего продукта.

PosMod2 перегрузки
# PosMod · 1/2
C#
public Vector3 PosMod(Vector3 modv);

Возвращает вектор, состоящий из @GlobalScope.fposmod компонентов этого вектора и mod.

Параметры
ИмяТипПо умолчанию
modvVector3—
modv

Вектор, представляющий дивизоров операции.

Возвращает Vector3

Вектор с каждым компонентом Mathf.PosMod Клянусь! modv- компоненты.

# PosMod · 2/2
C#
public Vector3 PosMod(float mod);

Возвращает вектор, состоящий из @GlobalScope.fposmod компонентов этого вектора и mod.

Параметры
ИмяТипПо умолчанию
modfloat—
mod

Значение, представляющее счетчика операции.

Возвращает Vector3

Вектор с каждым компонентом Mathf.PosMod Клянусь! mod.

ProjectVector3
# Project
C#
public Vector3 Project(Vector3 onNormal);

Возвращает новый вектор, полученный в результате проецирования этого вектора на данный вектор b. Вытекающий из этого новый вектор является параллельным bСм. также Vector3.Slide. Примечание: Если вектор b - нулевой вектор, компоненты нового вектора будут: @C#.NAN.

Параметры
ИмяТипПо умолчанию
onNormalVector3—
onNormal

Вектор для проецирования.

Возвращает Vector3

Прогнозируемый вектор.

ReflectVector3
# Reflect
C#
public Vector3 Reflect(Vector3 normal);

Возвращает результат отражения вектора через плоскость, определенную данным обычным вектором n. Примечание: Vector3.Reflect отличается от того, что называют другие двигатели и системы Vector3.Bounce что делает то, что большинство двигателей называют [Код пропущенный/отражающий(ый)(ый) ".

Параметры
ИмяТипПо умолчанию
normalVector3—
normal

Обычный вектор, определяющий плоскость для отражения.

Возвращает Vector3

Отраженный вектор.

RotatedVector3
# Rotated
C#
public Vector3 Rotated(Vector3 axis, float angle);

Возвращает результат вращения этого вектора вокруг заданной оси на angle (в радианах). Ось должна быть нормализованным вектором. См. также @GlobalScope.deg_to_rad.

Параметры
ИмяТипПо умолчанию
axisVector3—
anglefloat—
axis

Вектор, чтобы повернуться.

angle

Угол поворота в радианах.

Возвращает Vector3

Поворачиваемый вектор.

RoundVector3
# Round
C#
public Vector3 Round();

Возвращает новый вектор, все компоненты которого округлены до ближайшего целого числа, а половинные значения округлены от нуля.

Возвращает Vector3

Закругленный вектор.

SignVector3
# Sign
C#
public Vector3 Sign();

Возвращает новый вектор, в котором каждый компонент установлен на 1.0, если он положительный, -1.0, если он отрицательный, и 0.0, если он равен нулю. Результат идентичен вызову @GlobalScope.sign для каждого компонента.

Возвращает Vector3

Вектор со всеми компонентами в качестве либо 1, -1или 0.

SignedAngleTofloat
# SignedAngleTo
C#
public float SignedAngleTo(Vector3 to, Vector3 axis);

Возвращает знаковый угол к заданному вектору в радианах. Знак угла положительный в направлении против часовой стрелки и отрицательный в направлении по часовой стрелке, если смотреть со стороны, указанной axis.

Параметры
ИмяТипПо умолчанию
toVector3—
axisVector3—
to

Другой вектор для сравнения этого вектора.

axis

Ось отсчета, используемая для знака угла.

Возвращает float

Подписанный угол между двумя векторами, в радианах.

SlerpVector3
# Slerp
C#
public Vector3 Slerp(Vector3 to, float weight);

Возвращает результат сферической линейной интерполяции между этим вектором и to на величину weight. weight находится в диапазоне от 0,0 до 1,0, представляя величину интерполяции. Этот метод также обрабатывает интерполяцию длин, если входные векторы имеют разную длину. Для особого случая, когда один или оба входных вектора имеют нулевую длину, этот метод ведет себя как Vector3.Lerp.

Параметры
ИмяТипПо умолчанию
toVector3—
weightfloat—
to

Вектор назначения для интерполяции.

weight

Значение на диапазоне от 0,0 до 1,0, представляющее собой величину интерполяции.

Возвращает Vector3

Вектор интерполяции.

SlideVector3
# Slide
C#
public Vector3 Slide(Vector3 normal);

Возвращает новый вектор, полученный в результате скольжения этого вектора по плоскости с нормалью n. Результирующий новый вектор перпендикулярен n и эквивалентен этому вектору за вычетом его проекции на n. См. также Vector3.Project. Примечание: Вектор n должен быть нормализован. См. также Vector3.Normalized.

Параметры
ИмяТипПо умолчанию
normalVector3—
normal

Обычный вектор, на который можно скользить.

Возвращает Vector3

Скользящий вектор.

Snapped2 перегрузки
# Snapped · 1/2
C#
public Vector3 Snapped(Vector3 step);

Возвращает новый вектор, в котором каждый компонент привязан к ближайшему кратному соответствующего компонента в step. Это также можно использовать для округления компонентов до произвольного числа десятичных знаков.

Параметры
ИмяТипПо умолчанию
stepVector3—
step

Векторное значение, представляющее размер ступеньки.

Возвращает Vector3

Сломанный вектор.

# Snapped · 2/2
C#
public Vector3 Snapped(float step);

Возвращает новый вектор, в котором каждый компонент привязан к ближайшему кратному соответствующего компонента в step. Это также можно использовать для округления компонентов до произвольного числа десятичных знаков.

Параметры
ИмяТипПо умолчанию
stepfloat—
step

Размер шага, до которого можно дойти.

Возвращает Vector3

Сломанный вектор.

ToString2 перегрузки
# ToString · 1/2
C#
public override string ToString();

Преобразует это Vector3 к а string.

Возвращает string

A string представление этого вектора.

# ToString · 2/2
C#
public string ToString(string? format);

Преобразует это Vector3 к а string с указанным format.

Параметры
ИмяТипПо умолчанию
formatstring—
Возвращает string

A string представление этого вектора.

op_AdditionVector3
# op_Addition
C#
public static Vector3 operator +(Vector3 left, Vector3 right);

Добавить каждый компонент Vector3 с элементами данного Vector3.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает Vector3

Добавленный вектор.

op_Division2 перегрузки
# op_Division · 1/2
C#
public static Vector3 operator /(Vector3 vec, Vector3 divisorv);

Разделяет каждый компонент Vector3 элементами данной Vector3.

Параметры
ИмяТипПо умолчанию
vecVector3—
divisorvVector3—
vec

Вектор дивидендов.

divisorv

Вектор дивизора.

Возвращает Vector3

Разделенный вектор.

# op_Division · 2/2
C#
public static Vector3 operator /(Vector3 vec, float divisor);

Разделяет каждый компонент Vector3 Клянусь данным System.Single.

Параметры
ИмяТипПо умолчанию
vecVector3—
divisorfloat—
vec

Вектор дивидендов.

divisor

Значимость дивизора.

Возвращает Vector3

Разделенный вектор.

op_Equalitybool
# op_Equality
C#
public static bool operator ==(Vector3 left, Vector3 right);

Returns (Возврат) true если векторы точно равны. Примечание: Из-за ошибок в точности в плавающей точке рассмотреть вопрос об использовании Vector3.IsEqualApprox вместо этого, что более надежно.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Векторы равны или нет.

op_GreaterThanbool
# op_GreaterThan
C#
public static bool operator >(Vector3 left, Vector3 right);

Сравнит два Vector3 Векторы по первой проверке значение X left Вектор больше, чем значение X right Вектор. Если значения X в точности равны, то он повторяет эту проверку с значениями Y двух векторов, а затем с значениями Z. Этот оператор полезен для сортировки векторов.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Будь то левый больше, чем правый.

op_GreaterThanOrEqualbool
# op_GreaterThanOrEqual
C#
public static bool operator >=(Vector3 left, Vector3 right);

Сравнит два Vector3 Векторы по первой проверке значение X left Вектор больше, чем или равняется значению Х right Вектор. Если значения X в точности равны, то он повторяет эту проверку с значениями Y двух векторов, а затем с значениями Z. Этот оператор полезен для сортировки векторов.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Неважно, больше левого или нет.

op_Inequalitybool
# op_Inequality
C#
public static bool operator !=(Vector3 left, Vector3 right);

Returns (Возврат) true если векторы не равны. Примечание: Из-за ошибок в точности в плавающей точке рассмотреть вопрос об использовании Vector3.IsEqualApprox вместо этого, что более надежно.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Не равны ли векторы.

op_LessThanbool
# op_LessThan
C#
public static bool operator <(Vector3 left, Vector3 right);

Сравнит два Vector3 Векторы по первой проверке значение X left Вектор меньше значение X right Вектор. Если значения X в точности равны, то он повторяет эту проверку с значениями Y двух векторов, а затем с значениями Z. Этот оператор полезен для сортировки векторов.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Левый или нет меньше, чем правый.

op_LessThanOrEqualbool
# op_LessThanOrEqual
C#
public static bool operator <=(Vector3 left, Vector3 right);

Сравнит два Vector3 Векторы по первой проверке значение X left Вектор меньше или равняется значению Х right Вектор. Если значения X в точности равны, то он повторяет эту проверку с значениями Y двух векторов, а затем с значениями Z. Этот оператор полезен для сортировки векторов.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает bool

Неважно, меньше левое или равно правому.

op_Modulus2 перегрузки
# op_Modulus · 1/2
C#
public static Vector3 operator %(Vector3 vec, Vector3 divisorv);

Получает оставшуюся часть каждого компонента Vector3 с элементами данного Vector3. В этой операции используется перерезанное деление, которое зачастую не является желательным так как это не работает с отрицательными цифрами. Рассмотреть вопрос об использовании Vector3.PosMod вместо этого если вы хотите справиться с отрицательными числами.

Параметры
ИмяТипПо умолчанию
vecVector3—
divisorvVector3—
vec

Вектор дивидендов.

divisorv

Вектор дивизора.

Возвращает Vector3

Оставшийся вектор.

# op_Modulus · 2/2
C#
public static Vector3 operator %(Vector3 vec, float divisor);

Получает оставшуюся часть каждого компонента Vector3 с элементами данного System.Single. В этой операции используется перерезанное деление, которое зачастую не является желательным так как это не работает с отрицательными цифрами. Рассмотреть вопрос об использовании Vector3.PosMod вместо этого если вы хотите справиться с отрицательными числами.

Параметры
ИмяТипПо умолчанию
vecVector3—
divisorfloat—
vec

Вектор дивидендов.

divisor

Значимость дивизора.

Возвращает Vector3

Оставшийся вектор.

op_Multiply3 перегрузки
# op_Multiply · 1/3
C#
public static Vector3 operator *(Vector3 left, Vector3 right);

Множить каждый элемент Vector3 элементами данной Vector3.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает Vector3

Множественный вектор.

# op_Multiply · 2/3
C#
public static Vector3 operator *(Vector3 vec, float scale);

Множить каждый элемент Vector3 Клянусь данным System.Single.

Параметры
ИмяТипПо умолчанию
vecVector3—
scalefloat—
vec

Вектор умножения.

scale

Масштаб умножить на.

Возвращает Vector3

Множественный вектор.

# op_Multiply · 3/3
C#
public static Vector3 operator *(float scale, Vector3 vec);

Множить каждый элемент Vector3 Клянусь данным System.Single.

Параметры
ИмяТипПо умолчанию
scalefloat—
vecVector3—
scale

Масштаб умножить на.

vec

Вектор умножения.

Возвращает Vector3

Множественный вектор.

op_SubtractionVector3
# op_Subtraction
C#
public static Vector3 operator -(Vector3 left, Vector3 right);

Вычитает каждый элемент Vector3 элементами данной Vector3.

Параметры
ИмяТипПо умолчанию
leftVector3—
rightVector3—
left

Левый вектор.

right

Правильный вектор.

Возвращает Vector3

Вычтенный вектор.

op_UnaryNegationVector3
# op_UnaryNegation
C#
public static Vector3 operator -(Vector3 vec);

Возвращает отрицательную стоимость Vector3. Это то же самое, что и написание new Vector3(-v.X, -v.Y, -v.Z). Эта операция искажает направление вектора, Держать одну и ту же величину. При поплавках число ноль может быть либо положительным, либо отрицательным.

Параметры
ИмяТипПо умолчанию
vecVector3—
vec

Вектор отрицания/отклонения.

Возвращает Vector3

Отклоненный/отключенный вектор.

op_UnaryPlusVector3
# op_UnaryPlus
C#
public static Vector3 operator +(Vector3 vec);

Возвращает то же значение, как если бы + не было. Унарный + ничего не делает, но иногда он может сделать ваш код более читаемым.

Параметры
ИмяТипПо умолчанию
vecVector3—
vec

Вектор, который ничего не делает.

Возвращает Vector3

Изначальный вектор.

Поля и константы3

XПоле
# X
C#
public float X;

X компонент вектора. Может быть доступен через индекс [0].

YПоле
# Y
C#
public float Y;

Y компонент вектора. Может быть доступен через индекс [1].

ZПоле
# Z
C#
public float Z;

Z компонент вектора. Также может быть доступен по индексу [2].

Vector3.Axis

ЗначениеОписание
X = 0

Перечисленное значение для оси X. Возвращается Vector3.MaxAxisIndex и Vector3.MinAxisIndex.

Y = 1

Перечисленное значение для оси Y. Возвращается Vector3.MaxAxisIndex и Vector3.MinAxisIndex.

Z = 2

Перечисленное значение для оси Z. Возвращается Vector3.MaxAxisIndex и Vector3.MinAxisIndex.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.