Vector 2 unity что это

Обновлено: 04.05.2024

I have a GameObject that I want to move in Unity. I want to move it by a fixed distance. I have tried using AddForce but the game object keeps on moving infinitely.

Here is my code:

I have also tried Translate without any results:

9,953 5 5 gold badges 36 36 silver badges 70 70 bronze badges 1,591 2 2 gold badges 18 18 silver badges 33 33 bronze badges

Для положительных значений

Debug.log (новый Vector2 (1, 2) - новый Vector2 (3, 2));

3 Answers 3

Vector's are mathematical models that model both direction and magnitude. A Vector2 is 2D, and a Vector3 3D.

A vector2(1,5) is a direction with the ratio of 1 part x, and 5 parts y. E.G a line 1/6th to the right, and 5/6th's up. a negative would make the line left and down respectively.

Magnitude show's the "strength" of the direction. E.g when using forces and physics, pushing something in a vector2(1,0) is a much weaker push to the right than a vector2(100,0).

That should be a basic theory introduction for you.


A Vector is basically a quantity which has a direction: The quantity is referred to as the magnitude of the vector, the direction is referred to as the normalized vector.

Vector is represented using its components: the projection of the vector on each axis is referred to as the components of the vector.

Vector2

Это представление двухмерных векторов и точек, используемых для представления двухмерных позиций только по двум осям x и y.

3 ответа

Векторы - это математические модели, которые моделируют как направление, так и величину. Vector2 - это 2D, а Vector3 3D.

Вектор2 (1,5) - это направление с отношением 1 части x и 5 частей y. E.G линия на 1/6-й справа и 5/6-й вверх. Отрицательный сделает линию влево и вниз соответственно.

Величина шоу - это «сила» направления. Например, при использовании сил и физики нажатие чего-либо в векторе 2 (1,0) гораздо слабее вправо, чем векторе 2 (100,0).

Это должно быть введение в основную теорию для вас.

Примеры кода

Vector3 offset = transform.position - player.transform.position;

1.transform.Translate (Vector3.forward * Time.deltaTime * speed)

  1. Debug.Log (Cube.transform.rotation) // куб - игровой объект

The Vector 3D response

Vector - это количество , которое имеет направление . количество называется величиной вектора, а проекция вектора на каждую ось равна упоминается как компоненты вектора.

Vector1 имеет 1D направление , например точку на линии, значение рулевого колеса или любое действительное число. например . (0) или (-1000) . Величина Vector1 равна абсолютному значению x компонента вектора или sqrt(x^2) .

Vector2 имеет 2D-направление , например точку xy в 2D-пространстве, или положение джойстика, или смещение точки uv на 2D текстуре. например . (0,0) или (-1, 100) . Величина Vector2 равна sqrt(x^2+y^2) .

Vector3 имеет 3D-направление , как точка xyz в 3D-пространстве, или цвет в формате RGB, или набор из трех чисел. например . (0,0,0) или (-0,1, 3,14, 30) . Величина Vector3 равна sqrt(x^2+y^2+z^2) .

Vector4 имеет направление 4D , как точка xyzw в пространстве 4D, или цвет в формате RGBA, или набор из четырех чисел. например . (0,0,0,0) или (0,1, 0,2, 0,3, 0,4). Величина Vector4 равна sqrt(x^2+y^2+z^2+w^2) .

Что такое Vector2 и Vector3 в Unity?

Название говорит обо всем. Я часто вижу их в сценариях движения, если это помогает. Что такое Vector2 и Vector3, документы Unity немного сложны для новых людей.

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

Создает новый объект Vector2 с двумя элементами, имеющими одинаковое значение.

Создает вектор, элементы которого имеют заданные значения.

Координата X вектора.

Координата Y вектора.

Vector2 Структура

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

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

Для отрицательных значений

Print (-новый Vector2 (1, 2));

Операторы

Складывает два вектора.

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

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

Возвращает значение, указывающее, равна ли каждая пара элементов в двух заданных векторах.

Возвращает значение, указывающее на неравенство двух заданных векторов.

Умножает скалярное значение на заданный вектор.

Умножает заданный вектор на указанное скалярное значение.

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

Vector3

Это представление трехмерных векторов и точек, используемых для представления трехмерных положений с учетом осей x, y & z.

Свойства

Получает вектор, два элемента которого равны единице.

Получает вектор (1,0).

Получает вектор (0,1).

Возвращает вектор, два элемента которого равны нулю.

Комментарии

Vector2Структура обеспечивает поддержку аппаратного ускорения.

В матричных преобразованиях экземпляры Vector2, Vector3 и Vector4 отображаются в виде строк: вектор v преобразуется матрицей M с помощью умножения vM.

Примеры кода

Методы

Возвращает вектор, элементы которого являются абсолютными значениями каждого из элементов заданного вектора.

Складывает два вектора.

Ограничивает минимальное и максимальное значение вектора.

Копирует элементы вектора в заданный массив.

Копирует элементы вектора в заданный массив, начиная с указанной позиции индекса.

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

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

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

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

Возвращает скалярное произведение двух векторов.

Возвращает значение, указывающее, равен ли данный экземпляр указанному объекту.

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

Возвращает хэш-код данного экземпляра.

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

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

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

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

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

Умножает скалярное значение на заданный вектор.

Умножает вектор на заданный скаляр.

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

Преобразует заданный вектор в отрицательный.

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

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

Возвращает вектор, элементы которого являются квадратным корнем каждого из элементов заданного вектора.

Вычитает второй вектор из первого.

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

Возвращает строковое представление текущего экземпляра, используя заданную строку форматирования для форматирования отдельных элементов.

Возвращает строковое представление текущего экземпляра, используя заданную строку форматирования для форматирования отдельных элементов и заданный поставщик формата для указания форматирования, определяемого языком и региональными параметрами.

Преобразует вектор посредством заданной матрицы 3x2.

Преобразует вектор посредством заданной матрицы 4x4.

Преобразует вектор посредством заданного значения поворота кватерниона.

Преобразует нормаль вектора посредством заданной матрицы 3x2.

Преобразует нормаль вектора посредством заданной матрицы 4x4.

What is a Vector2 and Vector3 in Unity?

Title says it all. I see them used in movement scripts often, if that helps. What is a Vector2 and a Vector3, the Unity docs are a bit hard to follow for new people.

37 1 1 gold badge 1 1 silver badge 4 4 bronze badges

2 Answers 2

.Translate requires a Vector3:

Do you want to move it a fixed distance in a single frame?

or over a certain time (for example a second)?

9,953 5 5 gold badges 36 36 silver badges 70 70 bronze badges it moves the object but it never stops. It keeps on moving until it falls from the scene. I want it to stop after it reached a certain position in the scene. this is the code to move the object, if you want it to stop then stop calling this code

The Transform.Translate(movementMonster) will move your GameObject by the defined Vector3 movement monster every time you call it. Example:

Let's assume that start position of the monster if Vector3(0,0)

After first call your monster is now at Vector3(-4, 0, 0)

After first call your monster is now at Vector3(-8, 0, 0)

Vector3(-12, 0, 0) etc..

As long as I understand you need to move the 'monster' to certain position over time. You can use the method of Vector3.MoveTowards() so you can skip some math.

Читайте также: