Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unity что означает эта строчка ?

. . Ученик (130), на голосовании 1 неделю назад
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

rb - rigidbody
movevector - vector3

что означает эта строчка кода (это передвижение персонажа). Я понял только передвижение влево-вправо, но я не понимаю почему он ходит благодаря этой строчке... Помогите пожалуйста
Голосование за лучший ответ
соня огузкова Знаток (292) 1 месяц назад
хз, но это программа для приложений (наверное)
. .Ученик (130) 1 месяц назад
moveVector.x = Input.GetAxis("Vertical");
moveVector.z = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

это если полностью. Но все равно ничго не понимаю, первые 2 строчки понятно только
mustachioedWimp Гуру (3261) . ., тут вероятно перегружена операция +, поскольку как я понял moveVector это объект класса и у него есть члены: x,z. Где y?)
. .Ученик (130) 1 месяц назад
y это же верх, мне надо прямо - назад =). moveVector объект, сейчас посмотрел. Но я все равно не понимаю в чем смысл умножать position на moveVector * скорость и дельтатайм. + у movevector не выделена ось, тоесть, он будет умножаться по всем осям ?
mustachioedWimp Гуру (3261) . ., смотря как операторы перегружены. Это же объект или у вас в C# как то по другому?)
mustachioedWimp Гуру (3261) 1 месяц назад
а что конкретно не понятно?
. .Ученик (130) 1 месяц назад
moveVector.x = Input.GetAxis("Vertical");
moveVector.z = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

первые 2 строчки понятны, но я не понимаю как персонаж двигается вперед-назад благодаря этой строчке. Также у меня возник баг - W - назад S - вперед, и я не знаю как это пофиксить, хотя должно быть наоборот. Возможно виновата эта строчка но я не особо понимаю что к чему в ней. Почему написано + moveVector хотя у меня есть два вектора, и как тут связана скорость, если в первых строчках ее нет
mustachioedWimp Гуру (3261) . ., посмотри определение класса объекта moveVector, что даёт перегрузка операции +
Похожие вопросы