Rigidbody2D.velocity
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
Ошибка внесения изменений
По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста попробуйте снова через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
Ваше имя Адрес вашей электронной почты Предложение * Разместить предложенное
public var velocity : Vector2;
public Vector2 velocity ;
Описание
Линейная скорость твердого тела.
Скорость точно определена как вектор с компонентами в направлении X и Y осей (в 2D физике нет направления Z). Значение обычно не устанавливается напрямую, для этого лучше использовать «forces». Скорость также может постепенно спадать от эффекта «торможения», если это разрешено.
Rigidbody.velocity
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
Ошибка внесения изменений
По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста попробуйте снова через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
Ваше имя Адрес вашей электронной почты Предложение * Разместить предложенное
public var velocity : Vector3;
public Vector3 velocity ;
Описание
Вектор скорости твердого тела.
В большинстве случаев вам не нужно изменять скорость напрямую, т.к. это может быть причиной нереалистичного поведения. Не устанавливайте скорость объекта каждый физический шаг, это приведет к нереалистичной имитации физики. Типичный пример, где вы можете изменить скорость это прыжок в шутере от первого лица, потому что вам нужно немедленно изменить скорость.
var rb: Rigidbody;
function Start() < rb = GetComponent.(); >
function FixedUpdate () < if (Input.GetButtonDown("Jump")) < rb.velocity = Vector3(0,10,0); > >
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour < public Rigidbody rb; void Start() < rb = GetComponent(); > void FixedUpdate() < if (Input.GetButtonDown("Jump")) rb.velocity = new Vector3(0, 10, 0); > >
За что отвечает rb.velocity.y?
Учу Unity 2D, не понимаю за что отвечает rb.velocity.y , и какой функционал он выполняет. Не могли бы вы кратко объяснить, пожалуйста.
rb.velocity = new Vector2(Input.GetAxis("Horizontal") * speed,rb.velocity.y);
Отслеживать
68.2k 225 225 золотых знаков 80 80 серебряных знаков 223 223 бронзовых знака
задан 3 янв 2022 в 11:04
19 4 4 бронзовых знака
3 янв 2022 в 11:15
Скорость по оси y , это даже никуда смотреть не нужно, просто по названию видно уже. Ваш код создаёт новый объект скорости, сохраняя в нём предыдущее значение скорости по оси y и задавая новое значение скорости по оси x .
3 янв 2022 в 11:25
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
rb.velocity = new Vector2(Input.GetAxis("Horizontal") * speed,rb.velocity.y);
Здесь объекту задаётся новый вектор скорости. Для чего создаётся новый 2-мерный вектор Vector2 , в котором значение по оси x задаётся из ввода (с домножением на переменную speed ), а значение по оси y берётся из текущего значения скорости объекта по оси y (то самое rb.velocity.y ) Если знать английский язык, то можно даже не смотреть в API , тут все названия объектов и их полей довольно «говорящие».
Отслеживать
ответ дан 3 янв 2022 в 11:30
71.7k 5 5 золотых знаков 20 20 серебряных знаков 52 52 бронзовых знака
Спасибо большое.
3 янв 2022 в 11:31
- c#
- unity3d
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.26.8280
В чем разница между rb.velocity и transform.position?
А что тебе надо? Если хочешь максимально контролируемое движение, то rigidbody.MovePosition. Если просто через физику двигать — rb.velocity/addforce. Addforce в том случае, когда нужна именно физика, т.е. самолет там смоделировать или вертолет.
Решения вопроса 1
Токсичный шарпист
velocity — это скорость
position — это позиция
«Что использовать в 2д» — это слишком абстрактный вопрос, ибо зависит от игры и как ты хочешь в ней передвижение делать.